私は、Webサーバコンテナをmysqlサーバコンテナに接続しようとしていますが、phpmyadminのようにmysqlサーバに接続しようとすると、不明なホストになります。ここでdockerコンテナを外部のmysqlコンテナにリンクする方法は?
私のMySQLのドッキングウィンドウ-compose.yml
version: '3'
services:
mysqldb:
image: mysql
container_name: mysql
restart: always
env_file:
- ".env"
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
ports:
- "3306:3306"
expose:
- "3306"
volumes:
- "./data/mysql:/var/lib/mysql"
そして、ここに私のWebサーバーコンテナ
version: '3'
services:
web:
image: nginx:latest
container_name: web
ports:
- "80:80"
- "443:443"
restart: always
volumes:
- "./etc/nginx/nginx.conf:/etc/nginx/nginx.conf"
- "./etc/nginx/sites-enabled:/etc/nginx/sites-enabled"
- "./etc/nginx/default.conf:/etc/nginx/conf.d/default.conf"
- "./etc/ssl:/etc/ssl"
- "./web:/var/www/html"
- "./data/domains:/domains"
depends_on:
- php
external_links:
- "mysql:mysql"
php:
image: nanoninja/php-fpm
restart: always
volumes:
- "./etc/php/php.ini:/usr/local/etc/php/conf.d/php.ini"
- "./web:/var/www/html"
- "./data/domains:/domains"
myadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
ports:
- "8080:80"
environment:
- PMA_ARBITRARY=1
- PMA_HOST=mysql
restart: always
external_links:
- "mysql:mysql"
が正しくドッキングウィンドウ-コンファイルIセットアップしましたか?
編集1:
[email protected]:~/docker# docker ps | grep mysql
0d49167a6aae mysql "docker-entrypoint..." About an hour ago Up About an hour 0.0.0.0:3306->3306/tcp mysql
ありがとう次のURLを参照してくださいMySQLのコンポーズファイルでそれを定義してから、他のドッキングウィンドウ・コンで外部ネットワークとしてそれをマッピングし、
mysqldb
その名前を使用して同じにアクセスすることができます私はcontainer_nameオプションを使用したので、この名前が同じである必要があることを認識していませんでした。私はそれらの変化を試みます。 –
それは私の悪かったです、私はあなたが 'container_name'を使用するのを見ていませんでした。私に数分を与えてください –
私の答えを修正しました –