ちょいちょいDocker使うことがあるんですが、Linuxの方はいつも忘れてしまうのでメモしときます。
UbuntuにDockerをインストール
Dockerのセットアップ準備
aptのパッケージリストを最新化する
$ sudo apt update
リポジトリを使えるようにセットアップ
$ sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
GPGキーの追加
次のコマンドを実行して、「OK」が表示されることを確認します。
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
GPGキーの確認
$ sudo apt-key fingerprint 0EBFCD88
次のように表示されると思います。
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ 不明 ] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
リポジトリの登録
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Dockerのインストール
$ sudo apt install -y docker-ce
これでDockerのインストールは完了です。後は、動作確認をしておきましょう。
Dockerの動作確認
Dockerのバージョン確認
$ docker version
こんな感じで表示されると思います。
Client: Docker Engine - Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea838
Built: Wed Nov 13 07:29:52 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.5
(以下省略)
一般ユーザで実行している場合は、最後に次のようなメッセージが表示されます。dockerの操作を一般ユーザには使わせない場合は、このままでOKです。
Got permission denied while trying to connect to the Docker daemon socket
at unix:///var/run/docker.sock:
Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/json:
dial unix /var/run/docker.sock: connect: permission denied
Docker上のShellで”Hello World”を表示してみる
さて、定番のHello Worldしてみましょうか。
これはdocker上でubuntuの最新版のコンテナを起動し、echo Hello Worldして、というコマンドです。
$ docker run ubuntu:latest /bin/echo 'Hello world'
指定したコンテナが無い場合は、自動でDockerリポジトリからダウンロードしてきて実行してくれます。コンソールを確認するとpullしてますね。
ちなみにコンテナはローカルにキャッシュされますので、同じコマンドを実行すると次はキャッシュされたコンテナ上でecho Hello Worldが実行されるだけです。
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
7ddbc47eeb70: Pull complete
c1bbdc448b72: Pull complete
8c3b70e39044: Pull complete
45d437916d57: Pull complete
Digest: sha256:6e9f67fa63b0323e9a1e587fd71c561ba48a034504fb804fd26fd8800039835d
Status: Downloaded newer image for ubuntu:latest
Hello world
キャッシュされたコンテナを確認する
docker関係を操作するには、dockerコマンドを使います。今回はdockerのイメージを表示します。
$ docker image ls
ubuntuの最新版(latest)が表示されましたね。これでUbuntu上のDockerのubuntuが乗っかった感じです。こんな感じでいろんなものをコンテナのように搭載できるのがdockerです。まさにロゴの通りですね。Dockerの解説は詳しいサイトがゴロゴロしているので割愛します。
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 775349758637 6 weeks ago 64.2MB
ホストの環境を汚さずにいろんなソフトウェアを導入できるDockerのある生活が始まりますね~ わくわくしません!?
キャッシュされたイメージを削除する
$ docker image rm -f ubuntu
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:bec5a2727be7fff3d308193cfde3491f8fba1a2ba392b7546b43a051853a341d
Deleted: sha256:4e5021d210f65ebe915670c7089120120bc0a303b90208592851708c1b8c04bd
コメント