■Raspberry Pi 4B(Ubuntu 20.04)にdockerを導入する。
$ lsb_release -d;uname -r -m
Description: Ubuntu 20.04.1 LTS
5.4.0-1018-raspi aarch64
■dockerパッケージを探す。
$ apt-cache search ^docker
docker - 移行用パッケージ
debocker - docker-powered package builder for Debian
docker-compose - Punctual, lightweight development environments using Docker
docker-doc - Linux container runtime -- documentation
docker-registry - Docker toolset to pack, ship, store, and deliver content
docker.io - Linux container runtime
docker2aci - CLI tool to convert Docker images to ACIs
golang-github-docker-distribution-dev - Docker toolset to pack, ship, store, and deliver content (source)
golang-github-fsouza-go-dockerclient-dev - Docker client library in Go
golang-github-samalba-dockerclient-dev - Docker client library in Go
ruby-kitchen-docker - Docker Driver for Test Kitchen
vim-syntax-docker - Docker container engine - Vim highlighting syntax files
$ apt-cache depends docker-compose | awk '$2 ~ /^docker/'
推奨: docker.io
$ wget https://raw.githubusercontent.com/labunix/lsec/master/lsec
$ chmod +x lsec
$ mv lsec /usr/local/bin
$ apt-cache show docker-compose | lsec Desc.*en
Description-en: Punctual, lightweight development environments using Docker
docker-compose is a service management software built on top of docker. Define
your services and their relationships in a simple YAML file, and let compose
handle the rest.
■「docker-compose」をインストールする。
$ sudo apt-get install -y docker-compose
$ docker -v
Docker version 19.03.8, build afacb8b7f0
$ sudo docker version
Client:
Version: 19.03.8
API version: 1.40
Go version: go1.13.8
Git commit: afacb8b7f0
Built: Tue Jun 23 22:27:11 2020
OS/Arch: linux/arm64
Experimental: false
Server:
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.13.8
Git commit: afacb8b7f0
Built: Thu Jun 18 08:26:54 2020
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.3.3-0ubuntu2
GitCommit:
runc:
Version: spec: 1.0.1-dev
GitCommit:
docker-init:
Version: 0.18.0
GitCommit:
■ユーザにdockerグループを追加する。
$ docker run -ti httpd /bin/bash
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
$ grep docker /etc/group
docker:x:140:
$ echo $USER
labunix
$ sudo gpasswd -a $USER docker
ユーザ labunix をグループ docker に追加
$ grep docker /etc/group
docker:x:140:labunix
$ exit
■再ログイン後に改めてhttpdイメージを動かしてみる。
$ docker run -ti httpd /bin/bash
Unable to find image 'httpd:latest' locally
latest: Pulling from library/httpd
a6d76de28f58: Pull complete
51479feba16a: Pull complete
3714df65f2fb: Pull complete
5065d4f60999: Pull complete
a52cf7136440: Pull complete
Digest: sha256:5ce7c20e45b407607f30b8f8ba435671c2ff80440d12645527be670eb8ce1961
Status: Downloaded newer image for httpd:latest
root@0402af0944b6:/usr/local/apache2
bin build cgi-bin conf error htdocs icons include logs modules
root@0402af0944b6:/usr/local/apache2
exit
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
httpd latest dc16d0488e13 6 days ago 131MB
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0402af0944b6 httpd "/bin/bash" About a minute ago Exited (0) About a minute ago charming_almeida
$ docker rm 0402af0944b6
0402af0944b6
$ docker rmi dc16d0488e13
Untagged: httpd:latest
Untagged: httpd@sha256:5ce7c20e45b407607f30b8f8ba435671c2ff80440d12645527be670eb8ce1961
Deleted: sha256:dc16d0488e132a05499637cb3412f04acb4e800cb0ce2a614ce5059e7dd2d3c0
Deleted: sha256:7b4d769839832ae033bf440ae2ae734f1f188bf326d7c1d2762e1a9fdbcc3d89
Deleted: sha256:1dbcaead24d6df96b83daa08ba703203f5a5fe2ba6a4484835b9dc433be30a0d
Deleted: sha256:322bf41807e3228d6393b0e2510387409b2270f96b9f070b8036e8dae5fe9778
Deleted: sha256:c1c2980779b3011cc0b5bcc9051ea0ea1a1436d914c103b85bb032b0f8c40f5a
Deleted: sha256:e829239188f8526355147849a4e8a5f915adb31c5a389977c79a0137787bc46a