Linux

DockerのインストールからDockerfileによるApacheのコンテナ化

 

 

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イメージの取得

https://hub.docker.com/

 

記述例

# 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」
    コンテナを終了してログアウト

 

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)