もくじ
SELinuxの無効化
# vi /etc/sysconfig/selinux SELINUX=disabled
再起動
# reboot now
Dockerのインストール
# yum install -y yum-utils device-mapper-persistent-data lvm2 # yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
キャッシュのクリア
# yum makecache fast
インストール可能バージョンの確認
# yum list docker-ce.x86_64 --showduplicates | sort -r * updates: ftp.iij.ad.jp Loading mirror speeds from cached hostfile Loaded plugins: fastestmirror * extras: ftp.iij.ad.jp docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable * base: ftp.iij.ad.jp Available Packages
インストールと起動
# yum install docker-ce-17.12.1.ce-1.el7.centos # systemctl start docker # systemctl enable docker
一覧から好きなバージョンでインストールしましょ~!
Dockerイメージの取得
記述例
# docker pull イメージ名:タグ名
両方落としてみる
# docker pull centos:7
# docker pull centos:latest
imageの確認
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos 7 1e1148e4cc2c 5 weeks ago 202MB centos latest 1e1148e4cc2c 5 weeks ago 202MB
2つインストールされています
Dockerfileの作成
# vi Dockerfile FROM centos:7 LABEL yuukanehiro <yuu@example.net> CMD echo "now running..." RUN yum -y install httpd # ポート80の解放 EXPOSE 80 CMD ["/usr/sbin/httpd", "-DFOREGROUND"]
systemctlを使いたくないので上記になっています
注意 –privilegedオプションについて
# docker run --privileged -d -p 80:80 --name httpd yuu/apache /sbin/init
systemctlを利用する場合はこうなるけれど、–privilegedはコンテナに管理権限を与えるとのことなので、私は使わないように開発、運用していこう。
Docker内部のことを1%も知らない私にはその方が良いでしょう。
imageのビルド
# docker build -t yuu/httpd .
httpdコンテナの起動
# docker run -p 80:80 -d --name httpd yuu/httpd
http://IPアドレス/
コンテナにログインする
# docker exec -it httpd /bin/bash
コンテナからのログアウト
Windowsの場合
- 「Ctrl+q」
コンテナを終了せずにログアウト - 「Ctrl+d」
コンテナを終了してログアウト