弐号機 Docker インストール

弐号機は自宅内サーバー化するので、Docker のホストとしても活用したい。

  • https://qiita.com/iganari/items/fe4889943f22fd63692a
  • https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-repository
  • https://docs.docker.com/compose/install/

 

#### 必須パッケージのインストール
$ sudo apt install -y apt-transport-https gnupg-agent
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

#### リポジトリの追加
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
$ sudo apt update

#### Docker-CE のインストール
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

本来は”ca-certificates”, “curl”, “software-properties-common” も必要だが、すでに入っていたので割愛。

この状態で Docker を使えるようになっているが、一般ユーザーでも Docker のコマンドを使えるように設定する。

$ cat /etc/group | grep docker
docker:x:999:
$ sudo gpasswd -a ubuntu docker  # ubuntu は一般ユーザー名
$ cat /etc/group | grep docker
docker:x:999:ubuntu  # 追加されたのを確認
(一旦、ターミナルからログアウトし、再ログイン)
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:92695bc579f31df7a63da6922075d0666e565ceccad16b59c3374d2cf4e8e50e
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.
(以下略)

あと、Docker compose もインストールしておく。

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ docker-compose --version
docker-compose version 1.24.0, build 0aa59064

デフォルトだと、イメージやコンテナは”/var/lib/docker”に保存される。ルートに200GB少々割り当てているし、そのままでも大丈夫そうな気もするが、増えるのが分かってるファイルをあんまりルートに置きたくないので、変更する。

$ sudo vi /lib/systemd/system/docker.service
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -g /path/to/docker-dir

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
$ systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-05-06 22:50:50 JST; 3min 19s ago
     Docs: https://docs.docker.com
 Main PID: 11550 (dockerd)
    Tasks: 13
   CGroup: /system.slice/docker.service
           └─11550 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -g /path/to/docker

これで、Docker のサービス再起動して、以前の記事参考に、Wordpress と MySQL のコンテナ立てて、MBPからアクセスしてみた。

version: '3'
services:
  wordpress:
    image: wordpress:latest
    container_name: some-wp
    restart: always
    ports:
      - 8081:80
    environment:
      WORDPRESS_DB_HOST: mysql:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    depends_on:
        - mysql

  mysql:
    image: mysql:5.7
    container_name: some-db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

ごくごく簡易的な docker-compose.yaml だが、疎通確認なんでこれで良し。このファイル自体も、MBPのVS Code で弐号機の samba 共有ディレクトリに直接作成し、操作もVS Code のコンソールから行った。

これで 問題無く WordPress と MySQL のコンテナが立ち上がり、MBPのブラウザからアクセスして、WPのインストール画面まで進んだ。

 

コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA