#
ドキュメント

Document

自分のための備忘録です。

Docker 基礎

Ref

https://docs.docker.com/get-started/

コンテナ作成方法

  • DockerfileからDockerコンテナ作成
  • Docker HubからDockerコンテナ作成

DockerfileからDockerコンテナ作成

Dockerfile・Dockerイメージ・Dockerコンテナ

  • Dockerfile:Dockerイメージを作成する
  • Dockerイメージ:Dockerコンテナの雛形
  • Dockerコンテナ:イメージから作成されるインスタンス

ビルド -> イメージ作成 -> コンテナ作成

  1. ビルド:DockerfileからDockerイメージ作成
  2. コンテナ作成:DockerイメージからDockerコンテナ作成
1. ビルド -> イメージ作成
$ docker image build -t {{image_name}} .
  • DockerfileからDockerイメージを作成
  • コマンド末尾の.Dockerfileのある場所(つまりカレントディレクトリ
  • -tオプションで名前を指定可能
2. イメージ -> コンテナ作成
$ docker run --name {{container_name}} -p 8000:80 -v path/to/host:path/to/docker {{image_name}}

Docker HubからDockerコンテナ作成

Docker Hubでホストされているイメージ -> コンテナ作成。

$ docker run -d -p 8080:80 --name my-app -v "$PWD":/var/www/html php:7.4-apache

-dを忘れてもctrl + p, ctrl + qでデタッチ ※ Docker Hubでホストされているイメージから$ docker runでコンテナを作成する処理は以下を実行

  1. docker pull:イメージをDocker Hubから取得
  2. docker create:イメージからコンテナを作成
  3. docker start:コンテナを起動

ログイン(docker exec -it)

http://docs.docker.jp/engine/reference/commandline/exec.html

$ docker exec -it {{container_name}} /bin/bash

コマンド

コマンドライン・リファレンス — Docker-docs-ja 19.03 ドキュメント

docker image コマンド

  • docker image pull
  • docker image build
  • docker image ls

docker container コマンド

※ containerは省略可能

docker container run(docker run)

http://docs.docker.jp/engine/reference/commandline/run.html

-d, --detach コンテナをバックグラウンドで実行し、コンテナ ID を表示

http://docs.docker.jp/engine/reference/commandline/run.html

-dを忘れてもctrl + p, ctrl + qでデタッチ

docker container exec(docker exec)

http://docs.docker.jp/engine/reference/commandline/exec.html

$ docker exec -it {{container_name}} /bin/bash

docker execオプション。

-d, --detach=false デタッチド・モード: コマンドをバックグラウンドで実行
--detach-keys デタッチド・コンテナに特定のエスケープ・キー・シーケンスを設定
--help=false 使い方の表示
-i, --interactive=false アタッチしていなくても STDIN をオープンにし続ける
--privileged=false コマンドに拡張 Linux ケーパビリティの追加
-t, --tty=false 疑似ターミナル (pseudo-TTY) の割り当て
-u, --user= ユーザ名か UID (書式: <名前|uid>[:<グループ|gid>])

http://docs.docker.jp/engine/reference/commandline/exec.html

※ tty:teletypewriter

Official Image

通常親イメージとして使用される

Docker for Macのディスク使用

Docker for Mac におけるディスク使用量