Qiita にある、Raspberry-Pi へのインストールする記事 [Docker] RaspberryPi3 へのインストールからサンプル(hello-world)起動まで @Qiita ほぼそのまま実行することでインストールが可能です。
@ksh-fthr さん、ありがとうございます。
HTTPS 経由でパッケージのインストールができるようにするため、パッケージを追加します。
user1@plum:~$ sudo apt install apt-transport-https curl software-properties-common Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm iso-codes libasn1-8-heimdal libassuan0 libcurl4 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libkrb5-26-heimdal libksba8 libldap-2.4-2 libldap-common libnghttp2-14 libnpth0 libroken18-heimdal librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libwind0-heimdal pinentry-curses powermgmt-base python-apt-common python3-apt python3-software-properties unattended-upgrades Suggested packages: dbus-user-session pinentry-gnome3 tor parcimonie xloadimage scdaemon isoquery libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql pinentry-doc python3-apt-dbg python-apt-doc bsd-mailx default-mta | mail-transport-agent needrestart The following NEW packages will be installed: apt-transport-https curl dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm iso-codes libasn1-8-heimdal libassuan0 libcurl4 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libkrb5-26-heimdal libksba8 libldap-2.4-2 libldap-common libnghttp2-14 libnpth0 libroken18-heimdal librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libwind0-heimdal pinentry-curses powermgmt-base python-apt-common python3-apt python3-software-properties software-properties-common unattended-upgrades 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. Need to get 6,020 kB of archives. After this operation, 29.0 MB of additional disk space will be used. Do you want to continue? [Y/n] ... 略 ... Setting up dirmngr (2.2.4-1ubuntu1.1) ... Setting up libcurl4:armhf (7.58.0-2ubuntu3.5) ... Setting up gpg-wks-client (2.2.4-1ubuntu1.1) ... Setting up curl (7.58.0-2ubuntu3.5) ... Setting up gnupg (2.2.4-1ubuntu1.1) ... Processing triggers for libc-bin (2.27-3ubuntu1) ... Processing triggers for systemd (237-3ubuntu10.9) ... Processing triggers for dbus (1.12.2-1ubuntu1) ... user1@plum:~$
Docker リポジトリの GPG Key を追加します。
user1@plum:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - OK user1@plum:~$
apt リポジトリに Docker 安定版リポジトリを追加します。
user1@plum:~$ sudo add-apt-repository "deb [arch=armhf] https://download.docker.com/linux/ubuntu bionic stable" Get:1 https://download.docker.com/linux/ubuntu bionic InRelease [64.4 kB] Hit:2 http://ports.ubuntu.com/ubuntu-ports bionic InRelease Hit:3 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease Get:4 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease [83.2 kB] Get:5 https://download.docker.com/linux/ubuntu bionic/stable armhf Packages [3,152 B] <----- 追加されている Get:6 http://ports.ubuntu.com/ubuntu-ports bionic-security/main armhf Packages [150 kB] Fetched 301 kB in 5s (64.0 kB/s) Reading package lists... Done user1@plum:~$
Docker をインストールします。
user1@plum:~$ sudo apt install docker-ce Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: apparmor aufs-tools cgroupfs-mount containerd.io docker-ce-cli git git-man iptables libcurl3-gnutls liberror-perl libgdbm-compat4 libgdbm5 libip6tc0 libiptc0 libltdl7 libnetfilter-conntrack3 libnfnetlink0 libperl5.26 patch perl perl-modules-5.26 pigz Suggested packages: apparmor-profiles-extra apparmor-utils gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn gdbm-l10n ed diffutils-doc perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl make The following NEW packages will be installed: apparmor aufs-tools cgroupfs-mount containerd.io docker-ce docker-ce-cli git git-man iptables libcurl3-gnutls liberror-perl libgdbm-compat4 libgdbm5 libip6tc0 libiptc0 libltdl7 libnetfilter-conntrack3 libnfnetlink0 libperl5.26 patch perl perl-modules-5.26 pigz 0 upgraded, 23 newly installed, 0 to remove and 0 not upgraded. Need to get 40.3 MB of archives. After this operation, 210 MB of additional disk space will be used. Do you want to continue? [Y/n] Get:1 https://download.docker.com/linux/ubuntu bionic/stable armhf containerd.io armhf 1.2.0-1 [10.7 MB] ... 略 ... Setting up docker-ce (5:18.09.0~3-0~ubuntu-bionic) ... update-alternatives: using /usr/bin/dockerd-ce to provide /usr/bin/dockerd (dockerd) in auto mode Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service. Setting up perl (5.26.1-6ubuntu0.3) ... Setting up liberror-perl (0.17025-1) ... Setting up git (1:2.17.1-1ubuntu0.4) ... Processing triggers for libc-bin (2.27-3ubuntu1) ... user1@plum:~$
Docker が起動していることを確認します。
user1@plum:~$ sudo systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2018-12-18 15:15:55 JST; 1min 46s ago Docs: https://docs.docker.com Main PID: 2127 (dockerd) Tasks: 11 CGroup: /system.slice/docker.service └─2127 /usr/bin/dockerd -H unix:// Dec 18 15:15:48 plum dockerd[2127]: time="2018-12-18T15:15:48.343793182+09:00" level=warning msg="Your k Dec 18 15:15:48 plum dockerd[2127]: time="2018-12-18T15:15:48.345844669+09:00" level=warning msg="Unable Dec 18 15:15:48 plum dockerd[2127]: time="2018-12-18T15:15:48.354630623+09:00" level=info msg="Loading c Dec 18 15:15:49 plum dockerd[2127]: time="2018-12-18T15:15:49.438301085+09:00" level=info msg="Default b Dec 18 15:15:50 plum dockerd[2127]: time="2018-12-18T15:15:50.334482449+09:00" level=info msg="Loading c Dec 18 15:15:54 plum dockerd[2127]: time="2018-12-18T15:15:54.594776910+09:00" level=warning msg="Not us Dec 18 15:15:54 plum dockerd[2127]: time="2018-12-18T15:15:54.603429362+09:00" level=info msg="Docker da Dec 18 15:15:54 plum dockerd[2127]: time="2018-12-18T15:15:54.608263345+09:00" level=info msg="Daemon ha Dec 18 15:15:55 plum systemd[1]: Started Docker Application Container Engine. Dec 18 15:15:55 plum dockerd[2127]: time="2018-12-18T15:15:55.179115643+09:00" level=info msg="API liste
起動していることが確認できました。
ユーザーの権限で Docker を利用する場合、ユーザーを docker グループへ追加しておきます。
user1@plum:~$ sudo usermod -a -G docker user1 user1@plum:~$
設定を有効にするため、一旦ログアウトして再度ログインする必要があります。
Alpine Linux のイメージを取得し、起動してみます。
user1@plum:~$ docker pull alpine Using default tag: latest latest: Pulling from library/alpine 905674ea9d94: Pull complete d91fe322e169: Pull complete Digest: sha256:621c2f39f8133acb8e64023a94dbdf0d5ca81896102b9e57c0dc184cadaf5528 Status: Downloaded newer image for alpine:latest user1@plum:~$
user1@plum:~$ docker run -it alpine / # cat /etc/issue Welcome to Alpine Linux 3.8 Kernel \r on an \m (\l) / #
起動が確認できました。
別ターミナルからログインして、Docker の実行状態を確認してみます。
user1@plum:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bde6163e4f37 alpine "/bin/sh" 3 minutes ago Up 3 minutes vigorous_khorana user1@plum:~$
問題なさそうです。