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 :デタッチド・モードで起動。コンソールにテキストを出力しない。