0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Dockerノート

Last updated at Posted at 2020-06-07

Docker 基本コマンド

docker run <コンテナ名>[:version | :latest]

# run は以下のコマンド1-3を順に実行している
# 1. イメージ取得
docker pull <コンテナ名>

# 2. コンテナ作成
docker create <コンテナ名>

# 3. コンテナ起動
docker start <コンテナ名>

# コンテナ停止
docker stop <コンテナ名>

# コンテナのディレクトリをホストにコピー
docker cp <コンテナID>:<コンテナのディレクトリ> <ホストのディレクトリ>

# ホストのディレクトリをコンテナのディレクトリにコピー
docker cp <ホストのディレクトリ> <コンテナID>:<コンテナのディレクトリ>

# コンテナへのシェル接続(PID 1プロセスへの接続)
# exitで抜けるとコンテナが停止する。Ctr + p + q でコンテナは起動したまま抜けられる
docker attache <コンテナID>

# コンテナへのシェル接続(新しいプロセスへの接続)
# exitで抜けてもコンテナは起動したまま
docker exec <コンテナID>

docker run オプション

-p <ホストのポート>:<コンテナのポート> :ポートフォワーディング
    docker run -p 8080:80 nginx

-d:detachedモード、バックグラウンド実行みたいなこと。ターミナル終了してもプロセスは生きたまま

--name:コンテナ名指定

-v <ホストのディレクトリ>:<コンテナのマウントポイント>:<オプション>
    docker run --name sample -v /usr/local/html:/usr/share/nginx/html:ro -d -p 8080:80 nginx

-t:pseudo-TTYを割り当てる

-i:標準入力を保持する

# ダウンロード済みDockerイメージ一覧
docker images

# Dockerイメージの削除コマンド
docker rmi <コンテナ名>

-f : 強制削除

# 実行中のコンテナのリスト表示
docker ps

# 停止中のコンテナを含めて表示
docker ps -a

# コンテナ削除コマンド
docker rm <コンテナ名>

# イメージ詳細
docker inspect <コンテナ名>

# イマージのビルド
#  -t <イメージ名>:イメージ名、タグ名の指定
#  <ビルドコンテキスト>:ここで指定したディレクトリがDockerデーモンに転送される。
#    ドットを指定すると、コマンド実行したディレクトリがビルドコンテキストとなる。
#    ビルドコンテキスト上にあるファイルのみがDockerイメージに取り込み可能。
docker build -t <イメージ名> <ビルドコンテキスト>


Dockerfile

Dockerイメージは、Dockerfile を元に作成される

  1. Dockerfile:イメージ作成の定義ファイル
  2. Dockerイメージ:コンテナ作成のためのテンプレート
  3. コンテナ:アプリケーション実行環境

Docker Hub: https://hub.docker.com

命令

FROM

新しいDockerイメージのベースとするイメージを指定する。(ベースイメージ)

RUN

イメージ作成時に実行するコマンドを指定する。

CMD

コンテナを実行した際に、デフォルトで実行されるコマンドを指定する。
docker run コマンドのイメージ名の後にコマンドを指定した場合は、CMD命令を上書きして実行される。

ENTRYPOINT

CMDと異なり、docker run コマンドのイメージ名の後にコマンドを指定した場合は、ENTRYPOINTのコマンド引数に docker run で指定したコマンドが渡されてコマンドが実行される。

ENV

イメージに設定する環境変数を定義する。

ARG

イメージのビルド時に一時的に使用する環境変数。EVNとは異なり、イメージ上には環境変数は保持されない。

USER

コンテナ内のコマンドを実行するユーザを指定する。省略時は、rootユーザで実行する。

WORKDIR

作業ディレクトリを移動するために使用する。

ADD

ローカルファイルをイメージにコピーする指定。
tarファイルやURLも指定可能。

COPY

ローカルファイルをイメージにコピーする指定。
tarファイルやURLは指定できない。

References

  • 『ITエンジニアになる!チャレンジDocker仮想環境構築入門』秀和システム
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?