Docker基本コマンド - noumi0k/docker-compose-test GitHub Wiki

通常手順

良い感じにやってくれるやつ

# Dockerイメージを検索&取得
# 上記イメージでコンテナを作り起動する
$ docker run [Dockerイメージ名 or ID]

状態確認

# DockerImageを確認
$ docker images

# コンテナを確認
$ docker ps -a

コンテナ起動から削除までの流れ

# Dockerイメージ入手
$ docker pull [Dockerイメージ名 or ID]

# ポート指定でコンテナ起動
# 例: docker run -it -d -p 18082:8080 -v /root/tomcat-container/logs:/share/logs --name tomcat2 tomcat-image
$ docker run -it -d -p [ホスト側ポート]:[コンテナ側ポート] -v [ホスト側ディレクトリ]:[コンテナ側ディレクトリ] --name [コンテナ名] [Dockerイメージ名 or ID]

# コンテナにアクセス
$ docker exec -it [コンテナ名] bash

-----
# コンテナから離脱
$ exit
-----

# コンテナ停止
docker stop [コンテナ名 or ID]

# コンテナ削除
$ docker rm [コンテナ名 or ID]

# Dockerイメージ削除
$ docker rmi [Dockerイメージ名 or ID]

コンテナからDockerイメージ作成

# コンテナからDockerイメージ作成 ※停止はしてからでも大丈夫
$ docker commit [コンテナ名] [作成するDockerイメージ名]

コンテナ内操作

# コンテナ内フォルダ同期(Java環境用?)
$ sed -i -e "s/[同期元フォルダ]/[同期先フォルダ]/g" ./conf/logging.properties

コンテナとホストのデータ移動・共有

# ホスト→コンテナ
$ docker cp [ホスト側のファイル] [コンテナ名]:[コンテナ内のコピー先ディレクトリ]

# コンテナ→ホスト
$ docker cp [コンテナ名]:[コンテナ内のコピー元ファイル] [ホスト側のコピー先ディレクトリ]

Docker オプション

# -e :環境変数の組み合わせ
  -e WORDPRESS_DB_PASSWORD=my-secret-pw
# -p :コンテナのポートまたはポート範囲をホスト側に公開する
  -p [ホスト側ポート]:[コンテナ側ポート]
# -d :デタッチド・モードで起動。コンソールにテキストを出力しない。