[Docker] コンテナのメンテナンス

### Dockerが停止中または作られていない時
docker runの引数に、/bin/sh や /bin/bashなどのシェルプログラムを指定し、規定のコマンドの代わりにこれらのシェルが起動されるようにする
$ sudo docker run –name my-apache-app -it httpd:2.4 /bin/bash
# ls
bin build cgi-bin conf error htdocs icons include logs modules

– デタッチ
[Ctrl] + [P], [Ctrl] + [Q]でデタッチ
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
82c0dbeb972f httpd:2.4 “/bin/bash” 2 minutes ago Up 2 minutes 80/tcp my-apache-app

– アタッチ
$ sudo docker attach my-apache-app

– 終了
# exit
exit
$ sudo docker rm my-apache-app

### 動作中の時
docker execを使う。 docker exec –it ${containerName} /bin/bash

$ sudo docker run –name my-apache-app -dit -p 8080:80 -v “$PWD”:/usr/local/apache2/htdocs/ httpd:2.4 /bin/bash
$ sudo docker exec -it my-apache-app /bin/bash
$ sudo docker stop my-apache-app
$ sudo docker rm my-apache-app
※殆ど場合、docker execを使用する

うん、docker execとdocker runは大分整理されてきた。