なんとなくDockerでサービスを動かしたかったので。
前提
- Ubuntu Server 16.04がインストールされていること
- インターネットに接続できること
apt update && apt upgrade
を実施し、最新の状態であること
リポジトリの追加
- 必要なパッケージをインストールする。
$ sudo apt-get install apt-transport-https ca-certificates
- GPG鍵を追加する。
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:8 0 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
/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
- パッケージインデックスを更新する。
$ sudo apt-get update
- 古いパッケージをアンインストールする。
$ sudo apt-get purge lxc-docker
- Dockerのパッケージを取得できるか確認する。
$ apt-cache policy docker-engine
Dockerのインストール
- パッケージインデックスを更新する。
$ sudo apt-get update
- Dockerをインストールする。
$ sudo apt-get install docker-engine
- Dockerを起動する。
$ sudo systemctl start docker.service
- 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