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
実行すると下記のように Ubuntu の bash が起動する。
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
Ubuntu の bash というかターミナルに入るには下記。
# 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]
Vagrant や VirtualBox などよりも気軽に環境を使い捨てできるような感じ。
気になるミドルウェアやOSを検索して、試してみるのにもいいと思った。