Ubuntu Server 16.04でDockerを動かす

Posted by onodai.


なんとなくDockerでサービスを動かしたかったので。

前提

  • Ubuntu Server 16.04がインストールされていること
  • インターネットに接続できること
  • apt update && apt upgradeを実施し、最新の状態であること

リポジトリの追加

  1. 必要なパッケージをインストールする。
    $ sudo apt-get install apt-transport-https ca-certificates
  2. GPG鍵を追加する。
    $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:8 0 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
  3. /etc/apt/sources.list.d/docker.listを新規作成、編集し、Dockerのオフィシャルリポジトリを追加する。
    $ sudo vi /etc/apt/sources.list.d/docker.list

    [/etc/apt/sources.list.d/docker.list]

    deb https://apt.dockerproject.org/repo ubuntu-xenial main
  4. パッケージインデックスを更新する。
    $ sudo apt-get update
  5. 古いパッケージをアンインストールする。
    $ sudo apt-get purge lxc-docker
  6. Dockerのパッケージを取得できるか確認する。
    $ apt-cache policy docker-engine

Dockerのインストール

  1. パッケージインデックスを更新する。
    $ sudo apt-get update
  2. Dockerをインストールする。
    $ sudo apt-get install docker-engine
  3. Dockerを起動する。
    $ sudo systemctl start docker.service
  4. OS起動時に自動起動するようにする。
    $ sudo systemctl enable docker.service

動作確認

$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world

c04b14da8d14: Pulling fs layer c04b14da8d14: Downloading    974 B/974 Bc04b14da8d14: Verifying Checksum c04b14da8d14: Download complete c04b14da8d14: Extracting    974 B/974 Bc04b14da8d14: Extracting    974 B/974 Bc04b14da8d14: Pull complete Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

おまけ:一般ユーザでもDockerのコマンドを扱えるように

このままではroot以外のユーザがDockerのコマンドを扱えないため、dockerグループに普段使っているユーザを追加する。

$ sudo usermod -aG docker onodai

参考

comments powered by Disqus