@itachi-PのRailsを中心とした学習記録&ポートフォリオ作成メモ 学習効率上アウトプットを増やす必要性を感じた為、Qiitaと使い分け毎日気軽に自分用メモをアウトプットする場、計画性を身に付けるセルフコントロールの一環として2019/3/22開始 強烈な自己否定・批判癖が染み付いてるので客観的に問題点を見据えながらバランス取りつつ<楽しく>記述 基本的に文章書くこと自体は好きっぽい

実行環境またも変更

自宅のWindows10 Homeでは使えないDocker for WindowsではなくWSL上にインストールしたDockerを前提に環境構築したものの、docker-composeが動かない他致命的な制約が多いので結局Docker Desktop for WindowsをWSLではなくコマンドプロンプト上で操作することに

とうとうWSL自体を使わない選択に
とっととMacbook買うか、最初からDockerで環境構築する前提ならWSLやVagrant等あれこれ寄り道学習せずに済んだか

Play with Docker
4時間の使用制限付きWeb上Docker実行環境
ssh ip172-18-0-8-bjj0fthlhjkg00dvhrsg@direct.labs.play-with-docker.com

イメージ名(:タグ名)の命名規則

Docker公式イメージ
<イメージ名>:<タグ>

ユーザーが作成したイメージ
<ユーザー名>/<イメージ名>:<タグ>

非公式レジストリのイメージ
<レジストリ名>/<ユーザー名>/<イメージ名>:<タグ>

:<タグ> の指定をしない場合は :latest タグが自動的に付与される

イメージの作成、レジストリへのアップロード

公式のDockerHubへアップロードする場合はまずログインが必要

$ docker login  

クラウド上の公式DockerHub以外のDockerレジストリにDockerイメージを公開する場合、AWSには"Elastic Container Registry"が、GCPには"Google Container Registry" というDockerレジストリサービスが存在する

Dockerfileには17のコマンドが用意されている

FROM , ENV , WORKDIR , RUN , ADD , ARGS , CMD , ONBUILD , LABEL , ENTRYPOINT ,
STOPSIGNAL , MAINTAINER , VOLUME , HEALTHCHECK , EXPOSE , USER , SHELL

MAINTAINER コマンドは現在既に非推奨

実際の本番運用では以下の7つのコマンドを覚えるだけで十分?(らしい)

FROM , COPY , RUN , CMD , WORKDIR , ENV , USER

上記に加え以下もよく使われる

EXPOSE(公開ポート番号)
EXPOSEで指定したポートをホスト側へ公開するには、コンテナ起動時に -P オプションを付ける

$ docker run -P nginx  

VOLUME (DATA VOLUME)
永続的なデータや共有するためのデータ、更新頻度の激しいファイルを扱うために使用
実体はローカルのディレクトリやファイル(へのPATH)

このログへのコメント

コメントはありません