docker pull nginxしたものを編集し、自分のDockerHubにpushしたログ
imageは設計書。containerがそれを元に生成される。
$ docker pull nginx コンテナ内に入る $ docker run -it -p 8080:80 nginx bin/bash viが使えるように # apt update && apt install -y vim psコマンドが使えるように # apt update && apt install -y procps # ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 3868 3228 pts/0 Ss 01:24 0:00 bin/bash root 703 0.0 0.1 7640 2744 pts/0 R+ 01:35 0:00 ps aux nginxの起動 # nginx # ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 3868 3228 pts/0 Ss 01:24 0:00 bin/bash root 705 0.0 0.0 10636 872 ? Ss 01:36 0:00 nginx: master process nginx nginx 706 0.0 0.1 11032 2664 ? S 01:36 0:00 nginx: worker process root 708 0.0 0.1 7640 2720 pts/0 R+ 01:36 0:00 ps aux
localhost:8080に表示されている
nginx止める # nginx -s stop 2021/02/25 01:39:26 [notice] 709#709: signal process started 確認したら、止まってる #ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 3868 3228 pts/0 Ss 01:24 0:00 bin/bash root 710 0.0 0.1 7640 2700 pts/0 R+ 01:39 0:00 ps aux
psやviコマンドをインストールしたから、imageにその設定を上書きする
一旦コンテナから抜ける(コンテナが起動→終了する) # exit 起動しているコンテナ % docker ps 起動していないが、存在しているコンテナ % docker ps -a ここにさっきのnginxのコンテナが出力される CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c73c04f7366d nginx "/docker-entrypoint.…" 22 minutes ago Exited (0) 49 seconds ago keen_hamilton vi,psのダウンロードをコミット(名前はnginx-devにした) % docker commit c73c04f7366d nginx-dev sha256:a8b60f89df5c8bdad6a07e3327a14842f78ca6861f8c1a105103dcc879644684 コミットされて、新しいイメージが生成された。 % docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx-dev latest a8b60f89df5c 10 seconds ago 185MB
次から、そのイメージを使うときは、
docker run -it -p 8080:80 nginx-dev bin/bash
dockerhubにpushする
まずpushするために、tagを自分のdockerHub名に合わせる。そしてpush
$ docker tag 今のレポ名 新しいレポ名
docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx-dev latest a8b60f89df5c 10 seconds ago 185MB % docker tag nginx-dev kazumawada/nginx-dev % docker images REPOSITORY TAG IMAGE ID CREATED SIZE kazumawada/nginx-dev latest a8b60f89df5c 35 minutes ago 185MB nginx-dev latest a8b60f89df5c 35 minutes ago 185MB % docker login Authenticating with existing credentials... Login Succeeded % docker push kazumawada/nginx-dev:latest The push refers to repository [docker.io/kazumawada/nginx-dev] 5d9b058db477: Pushed 2acf82036f38: Mounted from library/nginx 9f65d1d4c869: Mounted from library/nginx 0f804d36244d: Mounted from library/nginx 9b23c8e1e6f9: Mounted from library/nginx ffd3d6313c9b: Mounted from library/nginx 9eb82f04c782: Mounted from library/nginx latest: digest: sha256:35776cc6b34e6f6948a74cd40f884585b4a1cc49bf4683787cf9b72868ef9b73 size: 1782 % docker run --rm -it kazumawada/nginx-dev #nginx 起動確認 #ps aux # nginx -s stop