labunix's blog

labunixのラボUnix

Raspberry Pi 4B(Ubuntu 20.04)にdockerを導入する。

■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# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs	modules
root@0402af0944b6:/usr/local/apache2# exit
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