私はこのドッカーファイルを持っており、期待どおりに動作しています。私はlocalhost上のmysqlに接続するPHPアプリケーションを持っています。ドッカーコンテナからmysqlデータベースに接続
# cat Dockerfile
FROM tutum/lamp:latest
RUN rm -fr /app
ADD crm_220 /app/
ADD crmbox.sql/
ADD mysql-setup.sh /mysql-setup.sh
EXPOSE 80 3306
CMD ["/run.sh"]
別のコンテナとしてデータベースを実行しようとすると、私のPHPアプリケーションは引き続きlocalhostを指しています。 "web"コンテナに接続すると、 "mysql1"コンテナに接続できません。
# cat docker-compose.yml
web:
build: .
restart: always
volumes:
- .:/app/
ports:
- "8000:8000"
- "80:80"
links:
- mysql1:mysql
mysql1:
image: mysql:latest
volumes:
- "/var/lib/mysql:/var/lib/mysql"
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: secretpass
私のPHPアプリケーションは、別のコンテナからmysqlにどのように接続しますか?
これは、ここで尋ねた質問に似ている...私は、ホストマシンからMySQLへの接続したくない
Connect to mysql in a docker container from the host
は、私は別の容器から接続する必要があります。
あなたのmysql接続設定はどのように見えますか?ホストが 'localhost'を指している場合、間違っているのは' mysql 'でなければなりません。 –