前回に引き続き、早速Dockerを動かしてみよう思います
hello world
おなじみのhello worldですが、Dockerにもあります
DOCKER CLIでhello-worldのコンテナを起動します
PS C:\Program Files\Docker Toolbox> docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 9db2ca6ccae0: Pull complete Digest: sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/engine/userguide/
docker runコマンドでコンテナイメージを起動させます、上記でhello-worldというイメージを起動させようとしますが、ローカルにそんなイメージはないので、docker hubから勝手に落としてきて起動します、初めて見た時おぉすげーと思いました(*`・ω・)ゞ
hello worldのdockerコンテナは上記を出力して終わりです
コンテナの取得、起動、確認、停止、削除
起動しているコンテナは以下で確認できます
PS C:\Program Files\Docker Toolbox> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
何も起動していないと上記の通りになります
さっきはhello worldが一瞬で終わってしまったので、linuxのイメージを起動しっぱなしにしてみます
alpine linuxという軽量なlinuxディストリビューションを起動します
まずは、以下のようにしてイメージを取得します
PS C:\Program Files\Docker Toolbox> docker pull alpine Using default tag: latest latest: Pulling from library/alpine 8e3ba11ec2a2: Pull complete Digest: sha256:7043076348bf5040220df6ad703798fd8593a0918d06d3ce30c6c93be117e430 Status: Downloaded newer image for alpine:latest
なんのイメージがあるか見てみると、最初のhello-worldに加えてaplineが増えています
PS C:\Program Files\Docker Toolbox> docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest 2cb0d9787c4d 6 weeks ago 1.85kB alpine latest 11cd0b38bc3c 6 weeks ago 4.41MB
続いて以下のコマンドでalpineを起動して、コンテナに接続します
ここも見慣れたlinuxが見えて、ちょっと感動しました(*´・∀・)
PS C:\Program Files\Docker Toolbox> docker run -it alpine bin/sh / # ls -l total 52 drwxr-xr-x 2 root root 4096 Jul 5 14:47 bin drwxr-xr-x 5 root root 360 Aug 24 02:03 dev drwxr-xr-x 15 root root 4096 Aug 24 02:03 etc drwxr-xr-x 2 root root 4096 Jul 5 14:47 home drwxr-xr-x 5 root root 4096 Jul 5 14:47 lib drwxr-xr-x 5 root root 4096 Jul 5 14:47 media drwxr-xr-x 2 root root 4096 Jul 5 14:47 mnt dr-xr-xr-x 154 root root 0 Aug 24 02:03 proc drwx------ 2 root root 4096 Aug 24 02:03 root drwxr-xr-x 2 root root 4096 Jul 5 14:47 run drwxr-xr-x 2 root root 4096 Jul 5 14:47 sbin drwxr-xr-x 2 root root 4096 Jul 5 14:47 srv dr-xr-xr-x 13 root root 0 Aug 24 02:03 sys drwxrwxrwt 2 root root 4096 Jul 5 14:47 tmp drwxr-xr-x 7 root root 4096 Jul 5 14:47 usr drwxr-xr-x 11 root root 4096 Jul 5 14:47 var
この状態で最初のdocker psコマンドでコンテナを見てみます
ターミナルはalpine linuxに繋がっているので、KitematicのDOCKER CLIを押して別ターミナルを起動します
PS C:\Program Files\Docker Toolbox> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0e412a4b3caa alpine "bin/sh" 11 seconds ago Up 10 seconds angry_villani
見えましたね!
stopコマンドを使うと停止できます
PS C:\Program Files\Docker Toolbox> docker stop 0e412a4b3caa 0e412a4b3caa PS C:\Program Files\Docker Toolbox> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
見えなくなりましたが、停止しているだけなので、startさせればまた見えます
PS C:\Program Files\Docker Toolbox> docker start 0e412a4b3caa 0e412a4b3caa PS C:\Program Files\Docker Toolbox> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0e412a4b3caa alpine "bin/sh" 2 minutes ago Up 3 seconds angry_villani
同じコンテナIDでまた起動しています
完全に終了させるにはrmで削除します
PS C:\Program Files\Docker Toolbox> docker stop 0e412a4b3caa 0e412a4b3caa PS C:\Program Files\Docker Toolbox> docker rm 0e412a4b3caa 0e412a4b3caa PS C:\Program Files\Docker Toolbox> docker stop 0e412a4b3caa Error response from daemon: No such container: 0e412a4b3caa
基本操作はまずはこんな感じで!