1.Dockerとは
コンテナと呼ばれる仮想化技術で、VMwaraなどの旧来の仮想化技術に比べ、非常に軽量。その理由の一つが、仮想サーバごとのOSが不要であること。
以下に違いが解説されています。
https://cn.teldevice.co.jp/column/10509/
2.Dockerの環境構築
主催者側で実施済です。
設定はとても簡単です。
#Dockerをインストール yum -y install docker #dockerの起動 systemctl start docker #httpdのイメージを取得 docker pull httpd #参加者にDockerの権限を追加 for i in {1..250};do usermod -aG docker user${i} done
2.コンテナを作る
(1) コンテナの作成
httpdイメージからコンテナを作ります。
今回はhttpd、つまりWebサーバを3台立てます。
※ポートは、1+ユーザ番号+数字 例)user3の場合は003として、以下を実行してください。 docker run -d -p 10031:80 --name Web10031 httpd docker run -d -p 10032:80 --name Web10032 httpd
オプションを解説します。
オプション | 解説 |
---|---|
--detach , -d | バックグラウンドで実行 |
-p | 外部から受け付けるportと内部のportの対応 |
--name | コンテナの名前を自由に設定できる |
httpd | httpdのイメージを利用 |
以下で接続してください。IPアドレスやポートは適宜変更。
http://203.0.113.125:80031/
http://203.0.113.125:80032/
サーバが起動していると思います。
これで2台のWebサーバが起動できました。
(2)コンテンツの変更
コンテナにログインして、内容を変更してみましょう。
docker exec -it Web10032 /bin/bash
以下がデフォルトのフォルダで、この中のindex.htmlというファイルが先ほど見たページです。
/usr/local/apache2/htdocs
viエディタなどが入っていないので、入れる必要がありますが、面倒なので、既存のファイルを上書きしましょう。
cd /usr/local/apache2/htdocs echo 'Hello' > index.html
その後、exitで抜けます。
(3)コンテナの停止と削除
作成したコンテナは削除しておいてください。
❶コンテナの確認
以下でdockerが起動されているかみてみましょう。
このとき、オプションで「-a」を付けると、起動していないコンテナも確認できます。
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9438bdb7b56b httpd "httpd-foreground" 28 minutes ago Up 28 minutes 0.0.0.0:13032->80/tcp, :::13032->80/tcp Web13032 77baa9a50d8e httpd "httpd-foreground" 28 minutes ago Up 28 minutes 0.0.0.0:13031->80/tcp, :::13031->80/tcp Web13031
たくさんある場合は、| grep Web10032 などと、自分のコンテナを指定しましょう。
❷コンテナを停止する
docker stop [NAME]
→Webページは見えなくなると思います。
❸コンテナを削除する
docker rm [CONTAINER ID] #以下で、削除されているかを確認 docker ps -a