【質問1】docker-composeを勉強し始めたのですが、よく、下記のようなページ配信用サーバ(wordpress)とDBサーバ(Mysql)を作るdocker-compose.ymlを見かけますが、開発中は簡単に構築出来て便利ですが、本番環境で1つのサーバ内にページ配信用サーバ(wordpress)とDBサーバ(Mysql)を作るような場面ってあるんですか?自分の経験上、ページ配信用サーバとDBサーバは物理的に別サーバに立てるのが原則だと思ってました。
dockercompose
1version: '2' 2 3services: 4 db: 5 image: mysql:5.7 6 volumes: 7 - "./.data/db:/var/lib/mysql" 8 restart: always 9 environment: 10 MYSQL_ROOT_PASSWORD: wordpress 11 MYSQL_DATABASE: wordpress 12 MYSQL_USER: wordpress 13 MYSQL_PASSWORD: wordpress 14 15 wordpress: 16 depends_on: 17 - db 18 image: wordpress:latest 19 links: 20 - db 21 ports: 22 - "8880:80" 23 restart: always 24 environment: 25 WORDPRESS_DB_HOST: db:3306 26 WORDPRESS_DB_PASSWORD: wordpress
【質問2】
下記の認識であっていますでしょうか?
『dockerコマンドで一々環境構築するのは面倒だから、Dockerfileを使い、もっと複雑になればDockerfileすら管理が煩雑になるので、docker-composeを用いる。』
【質問3】
ある開発が一段落ついた際の、docker-composeの使用方法は、基本的に、docker-compose.ymlを実行すれば、全ての環境が整うように作成されるべきでしょうか?
例えば、nginx.confを編集していたのなら、そのnginx.confをdocker-compose.ymlと同じディレクトリに配置して、docker-compose.yml実行時に、仮想環境内のnginx.confを置換したり、既にWEBサイトが完成しているなら、そのHTMLファイルをdocker-compose.ymlと同じディレクトリに配置して、docker-compose.yml実行時に、var/www/html配下に配置するなど。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。