😁

docker/docker-compose の基本的なコマンド一覧

2020/09/21に公開

docker の基本的なコマンド一覧

docker イメージ取得

$ docker pull <dockerイメージ名>

docker イメージ一覧確認

$ docker images

コンテナ作成と起動

$ docker run -it -d -p <ホスト側ポート>:<コンテナ側ポート> --name <コンテナ名orID> <docker-image名>
「-it」docker仮想環境内で入出力を可能にする 
「-d」detouchedモード.無指定だとforegroundモードになる
「-p」ポートフォワードの設定
「-v」ボリュームマウントの設定

コンテナ起動と停止

$ docker start <コンテナ名orID>

$ docker stop <コンテナ名orID>

コンテナ一覧確認

$ docker ps //起動しているコンテナの確認
$ docker ps -a //起動していないコンテナも含む全てのコンテナを確認

コンテナへのログイン

$ docker exec -it <コンテナ名orID> bash

ファイルコピー

(ホスト→コンテナ内)
$ docker cp <ホスト側のファイルパス> <コンテナ名orID>:<コンテナ内のコピー先パス>
(コンテナ内→ホスト)
$ docker cp <コンテナ名orID>:<コンテナ内のコピー元パス> <ホスト側のコピー先ディレクトリ>

コンテナからdocker-image作成

$ docker commit <コンテナ名orID> <作成するdockerイメージ名>

コンテナ削除

(コンテナを停止して)
$ docker rm <コンテナ名orID>
オプション`-f`をつけて実行するとコンテナを停止していなくても強制的に削除できる

コンテナイメージ削除

(コンテナを停止して)
$ docker rmi <repo>:<tag>
オプション`-f`をつけて実行するとコンテナを停止していなくても強制的に削除できる

Dockerfileを元にdocker-imageの作成

$ docker build -t <自作repo名>:<自作tag名> <Dockerfileが存在するディレクトリ>
・「-t」オプションを使用してrepo名のみ指定すると、tag名は自動的に「latest」になる。
・「Dockerfileが存在するディレクトリ」はカレントディレクトリにあるなら「.」でいい

docker-compose の基本的なコマンド一覧

docker-compose.ymlを基にコンテナを作成しつつ起動

「docker-compose.yml」があるディレクトリで
$ docker-compose up -d

コンテナにログイン

$ docker-compose exec <サービス名> bash

<サービス名>の部分はdocker-compose.ymlに設定している名前で呼んであげる。

自作のdocker-compose.ymlからimageを作成

自作の「docker-compose.yml」があるディレクトリで
$ docker-compose build

コンテナの起動と停止

$ docker-compose stop
$ docker-compose start

コンテナの削除

$ docker-compose rm
$ docker-compose rm -f (yesかnoか聞かれずに削除する場合)

停止、削除、ネットワーク削除を全て実行

$ docker-compose down
$ docker-compose down --rmi all (イメージを合わせて削除する場合)

参考

Docker入門(第一回)~Dockerとは何か、何が良いのか~ /| さくらのナレッジ
【図解】docker runのオプションいろいろ #マンガでわかるDocker 番外編 /| マンガでわかるWebデザイン

Discussion