Shred IT!!!!

IT全般について試したこと・勉強したことを綴ったり、趣味について語るブログ

Docker を CentOS 7 にインストールして、Ubuntu を動作させる

概要


Docker を VirtualBox 上にある CentOS 7 にインストールして、 CentOS 7 上で Ubuntu を動作させるところまでを書き残す。
ちなみにこの CentOS 7 は Mac 上の Vagrant で動作している。

Dockerについては下記サイト等で確認するといい。

「いまさら聞けないDocker入門」最新記事一覧 - ITmedia Keywords

Docker のインストール


docker build すると ADD, COPY で no such file or directory になる問題の解決方法 - Shred IT!!!!

前に書いておいた記事が役に立つわけだが、 CentOS 7 にデフォルトで入っている Docker のバージョンが古いので、 yumリポジトリを追加して最新バージョンをインストールするようにする。

# cat >/etc/yum.repos.d/docker.repo <<-EOF
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

リポジトリを追加したので docker をインストール。

# yum install docker

初期状態だと docker を使うには必ず sudo を付ける必要があるため、 docker グループを追加し、sudo なしにしたいユーザをそこに所属させておく。

Dockerコマンドをsudoなしで実行する方法 - Qiita

# sudo groupadd docker
# sudo gpasswd -a vagrant docker

インストールができたら、docker サービスを有効・自動起動 ON にする。
最初なので手動で起動する。

# sudo systemctl enable docker.service
# sudo systemctl start docker.service

起動を確認。

# docker -v
Docker version 1.7.1, build 3043001/1.7.1

Ubuntu を起動してみる


Ubuntu のイメージを落としてくる。

# docker pull ubuntu:latest

落としたイメージを確認する。

# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
docker.io/ubuntu            latest              a005e6b7dd01        6 days ago          188.3 MB

Ubuntu のイメージからコンテナを作って、実行してみる。
ubuntu イメージから ubuntu_test というコンテナを作るコマンド。

# docker run -it --name ubuntu_test ubuntu /bin/bash

実行すると下記のように Ubuntubash が起動する。

root@dbcba89f0d82:/#

exit と打ってコンテナを終了して、コンテナを確認する。

# docker ps -a
CONTAINER ID        IMAGE            COMMAND                CREATED             STATUS                          PORTS                  NAMES
dbcba89f0d82        ubuntu           "/bin/bash"            2 minutes ago       Exited (0) About a minute ago                          ubuntu_test

作ったコンテナを再実行する際は下記コマンド。

# docker start ubuntu_test

Ubuntubash というかターミナルに入るには下記。

# docker exec -i -t ubuntu1 /bin/bash

まとめ


Docker のインストールから Ubuntu のコンテナを起動するところまでをまとめてみた。
Ubuntu 以外でも、例えば下記のように検索して、イメージを探すこともできる。

# docker search centos
INDEX       NAME                                                  DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/centos                                      The official build of CentOS.                   1478      [OK]
docker.io   docker.io/ansible/centos7-ansible                     Ansible on Centos7                              59  [OK]
docker.io   docker.io/jdeathe/centos-ssh-apache-php               CentOS-6 6.6 x86_64 / Apache / PHP / PHP m...   11  [OK]

VagrantVirtualBox などよりも気軽に環境を使い捨てできるような感じ。
気になるミドルウェアやOSを検索して、試してみるのにもいいと思った。