Mais conteúdo relacionado Semelhante a 「Docker +VLAN 環境」アプリケーション実行環境の構築 (20) 「Docker +VLAN 環境」アプリケーション実行環境の構築2. このスライドは「Photon OS + Docker VLAN 環境の構築」の続きです。
| 2
基盤となるネットワーク環境の構築方法については
前回のスライドを参照してください。
slideshare - Fuva Brain
https://www.slideshare.net/ssuser28657b/photon-os-dockervlan-241654476
5. 1. Rocket.Chat の起動
Photon OS + Docker の環境です。
| 5
docker-compose がインストールされている前提です。
未インストールなら Docker-docs を参照してインストールを行ってください。
• Docker Compose — Docker-docs-ja 19.03 ドキュメント
https://docs.docker.jp/compose/
6. 1-1. Rocket.Chat のインストール
| 6
# mkdir -p /opt/rocket.chat ; cd $_
# curl -L https://raw.githubusercontent.com/RocketChat/Rocket.Chat/develop/docker-compose.yml -o docker-compose.yml
# docker-compose up -d
Starting rocketchat_mongo_1 ... done
Starting rocketchat_rocketchat_1 ... done
Starting rocketchat_mongo-init-replica_1 ... done
Starting rocketchat_hubot_1 ... done
1. Rocket.Chato のディレクトリを作る。 ⇒ /opt/rocket.chat
2. docker-compose.yml をダウンロード
3. 起動!
7. 1-2. 起動したコンテナを確認
| 7
# docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------
rocketchat_hubot_1 /bin/sh -c node -e "consol ... Up
rocketchat_mongo-init-replica_1 docker-entrypoint.sh bash ... Exit 0
rocketchat_mongo_1 docker-entrypoint.sh mongo ... Up
rocketchat_rocketchat_1 docker-entrypoint.sh bash ... Up
無事に起動できました!
稼働中のコンテナを確認して
みましょう。
# curl -I -s http://localhost:3000
HTTP/1.1 200 OK
X-XSS-Protection: 1
X-Content-Type-Options: nosniff
X-Frame-Options: sameorigin
X-Instance-ID: zwZh6Psm7PStdz3PM
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
Date: Sat, 30 Jan 2021 **:**:** GMT
Connection: keep-alive
動作確認
3000/tcp で稼働中です。
9. 2-1. docker network
| 9
# docker network ls
NETWORK ID NAME DRIVER SCOPE
************ bridge bridge local
************ cato-default macvlan local
************ cato-vlan20 macvlan local
************ cato-vlan30 macvlan local
************ host host local
************ none null local
************ rocketchat_default bridge local
これを使いたい!
現在、使用中
この時点では rocketchat_default というブリッジを使用している様です。
VLAN ID 30 を使いたいので、設定を変更します。
10. 2-2. rocketchat_default
|
10
# docker network inspect rocketchat_default
[
{
"Name": "rocketchat_default",
...
"IPAM": { ...
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
...
"Containers": {
...
"Name": "rocketchat_mongo_1",
...
"IPv4Address": "172.18.0.2/16",
...
"Name": "rocketchat_rocketchat_1",
...
"IPv4Address": "172.18.0.3/16",
...
ところで、前頁にて「rocketchat_default という
ブリッジを使用している様です」と書きましたが
本当でしょうか?
ちょっと確認をしてみたいと思います。
docker-composer ps を実行した際に出てきた
コンテナが確認できました。
11. 2-3. 設定変更
|
11
eth1.30 cato-vlan30
10.10.30.0 /24
rocketchat_default
172.18.0.0 /16
bridge
これをやめて
こっちに変更
# pwd
/opt/rocket.chat
# docker-compose stop
Stopping rocketchat_hubot_1 ... done
Stopping rocketchat_rocketchat_1 ... done
Stopping rocketchat_mongo_1 ... done
# cp -p docker-compose.yml docker-compose.yml.original
# vi docker-compose.yml
アプリケーションを停止します。
docker-compose.yml のバック
アップをしてから設定変更を行い
ます。
12. 2-4. 設定変更
|
12
# diff docker-compose.yml docker-compose.yml.original
3,7d2
< networks:
< default:
< external:
< name: cato-vlan30
<
37,39d31
< networks:
< default:
< ipv4_address: 10.10.30.201
50,52d41
< networks:
< default:
< ipv4_address: 10.10.30.202
71,73d59
< networks:
< default:
< ipv4_address: 10.10.30.203
96,98d81
< networks:
< default:
< ipv4_address: 10.10.30.204
設定変更前後の差分を見てみます。
追記だけですね。
先に cat-vlan30 の使用を宣言しておきます。
そして、各コンテナ(services)の設定では
ネットワークの指定と、固定 IP アドレスを
記述しています。
13. 2-5. 設定変更(2)
|
13
version: '2'
networks:
default:
external:
name: cato-vlan30
services:
rocketchat:
image: rocketchat/rocket.chat:latest
...
networks:
default:
ipv4_address: 10.10.30.201
mongo:
image: mongo:4.0
...
networks:
default:
ipv4_address: 10.10.30.202
...
mongo-init-replica:
image: mongo:4.0
...
networks:
default:
ipv4_address: 10.10.30.203
...
hubot:
image: rocketchat/hubot-rocketchat:latest
...
networks:
default:
ipv4_address: 10.10.30.204
...
Rocket.Chat
MongoDB
MongoDB
(レプリカ)
設定変更後の docker-compose.yml です。
黄色いところが追記した部分です。
前頁で述べたネットワーク(cato-vlan30)
と、4つのコンテナへの設定をしています。
cato-vlan30
10.10.30.0/24
hubot
14. 2-6. 確認
|
14
# docker network inspect cato-vlan30
[
{
"Name": "cato-vlan30",
...
"Containers": {
...
"Name": "rocketchat_mongo_1",
...
"IPv4Address": "10.10.30.202/24",
"IPv6Address": ""
...
"Name": "rocketchat_rocketchat_1",
...
"IPv4Address": "10.10.30.201/24",
...
"Name": "rocketchat_hubot_1",
...
"IPv4Address": "10.10.30.204/24",
...
アプリケーションを起動して、
確認をしてみましょう。
# docker-compose up -d
Starting rocketchat_mongo_1 ... done
Starting rocketchat_rocketchat_1 ... done
Starting rocketchat_mongo-init-replica_1 ... done
Starting rocketchat_hubot_1 ... done
ブリッジ「cato-vlan30」を使用しているコンテナ
と、その IP アドレスを確認します。
16. 当 は「未 の 」( )を する「 」( )をめ し、
すべてのお 様に
で
使いやすく
用で
きやすい
環境と ー スを提 します。
株式会社フーバーブレイン
https://www.fuva-brain.co.jp
Cato Cloud
https://cato.fuva-brain.jp
事業開発室 取扱サービス
生産性の向上支援 Ey “247”
https://www.eye247.jp