岩佐です.
Gitlab CEをMacで利用したいので, DockerをMacに入れたいと思います.
docker公式サイトのDocker Community Edition for Macのページよりインストーラーをダウンロードします. (ダウンロードにはdocker storeへのログインが必要です.)
ダウンロードしたDocker.dmgを起動しDRUG & DROP. 「アプリケーション」→「Docker」と押して起動しインストールしましょう.
インストールが無事完了しているか確認しましょう.
$ docker --version Docker version 18.06.0-ce, build 0ffa825
試しに$ docker run hello-worldと実行してみましょう.
$ 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版Hello Worldですね.
上記のコマンドで何が起きたのかは表示されたメッセージが説明しています.
ローカルに「hello-world」というイメージがなかったため, Docker hubからイメージを取得しコンテナを生成, メッセージを送出したと言ってますね. よくわかりませんがそんなところです.
続いて, 上記のメッセージに
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
とあったのでそのまま実行してみましょう.
$ docker run -it ubuntu bash Unable to find image 'ubuntu:latest' locally latest: Pulling from library/ubuntu c64513b74145: Pull complete 01b8b12bad90: Pull complete c5d85cf7a05f: Pull complete b6b268720157: Pull complete e12192999ff1: Pull complete Digest: sha256:3f119dc0737f57f704ebecac8a6d8477b0f6ca1ca0332c7ee1395ed2c6a82be7 Status: Downloaded newer image for ubuntu:latest root@27bb529135cb:/#
今回もubuntuイメージを取得し, 実行されました. ubuntuのバージョンを確認してみましょう.
root@27bb529135cb:/# cat /etc/issue Ubuntu 18.04.1 LTS n l root@27bb529135cb:/# cat /etc/os-release NAME="Ubuntu" VERSION="18.04.1 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.1 LTS" VERSION_ID="18.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic
ubuntuから抜けるためには「Ctrl + P + Q」と入力します.
$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 735f80812f90 30 hours ago 83.5MB hello-world latest 2cb0d9787c4d 2 weeks ago 1.85kB
$ docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 27bb529135cb ubuntu "bash" 30 minutes ago Up 30 minutes condescending_pare
停止中のコンテナも確認したい場合は
$ docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 27bb529135cb ubuntu "bash" 32 minutes ago Up 32 minutes condescending_pare cd19abd3ea32 hello-world "/hello" 3 hours ago Exited (0) 3 hours ago gracious_mahavira
STATUSは, 起動中のものはUp, 停止中のものはExitedになっています. NAMESは適当についていますが, 自分でつけることもできます.
これらコンテナの確認は,
$ docker ps
$ docker ps -a
でも同様に行えます.
起動中のubuntuコンテナを停止させます.
$ docker stop condescending_pare condescending_pare $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 27bb529135cb ubuntu "bash" About an hour ago Exited (0) 2 minutes ago condescending_pare
NAMESで指定しましたが, CONTAINER IDで指定することもできます.
再度ubuntuコンテナを起動します.
$ docker start condescending_pare condescending_pare $ docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 27bb529135cb ubuntu "bash" About an hour ago Up 10 seconds condescending_pare
「-l」は最後に起動したコンテナを指定するオプションです.
$ docker attach condescending_pare root@27bb529135cb:/#
先ほどは「Ctrl + P + Q」コマンドを使いましたが, 接続の切断と同時にコンテナを停止させるには「exit」します.
root@27bb529135cb:/# exit exit $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 27bb529135cb ubuntu "bash" About an hour ago Exited (0) 20 seconds ago condescending_pare cd19abd3ea32 hello-world "/hello" 3 hours ago Exited (0) 3 hours ago gracious_mahavira
hello-worldおよびubuntuのコンテナを削除します.
$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 27bb529135cb ubuntu "bash" 2 hours ago Exited (0) About an hour ago condescending_pare cd19abd3ea32 hello-world "/hello" 4 hours ago Exited (0) 4 hours ago gracious_mahavira $ docker rm condescending_pare condescending_pare $ docker container rm gracious_mahavira gracious_mahavira $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
続いてイメージを削除します.
$ docker image rm ubuntu Untagged: ubuntu:latest Untagged: ubuntu@sha256:3f119dc0737f57f704ebecac8a6d8477b0f6ca1ca0332c7ee1395ed2c6a82be7 Deleted: sha256:735f80812f90aca43213934fd321a75ef20b2e30948dbbdd2c240e8abaab8a28 Deleted: sha256:86267d11f0c14fca869691b9b32bdd610b6ab8d9033d59ee64bdcc2cf0219bce Deleted: sha256:d9a8b3f912eee0b322b86fa0f6888558a468c384611c71178987b20e3a0ebafc Deleted: sha256:4e627d1476f22151f05e5214147d6cc6e03ad79a082f01aca6560aa75c7ade3a Deleted: sha256:757b76a12baba45fcbe76abbdd99723be9d94c12a2ad40354dc49ff5fbe1f5c1 Deleted: sha256:f49017d4d5ce9c0f544c82ed5cbc0672fbcb593be77f954891b22b4d0d4c0a84 $ docker image rm hello-world Untagged: hello-world:latest Untagged: hello-world@sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc Deleted: sha256:2cb0d9787c4dd17ef9eb03e512923bc4db10add190d3f84af63b744e353a9b34 Deleted: sha256:ee83fc5847cb872324b8a1f5dbfd754255367f4280122b4e2d5aee17818e31f5 $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE
以上です.