docker-composeを使ってコンテナオーケストレーションを学んでいます。
以下のフォルダ構成で、appコンテナから、dbコンテナのmariadbにアクセスしたいのですが、エラーが出てうまくいきません。
ディレクトリ構成
. ├── app │ └── Dockerfile ├── db │ └── Dockerfile └── docker-compose.yml
コード
app/Dockerfile
1FROM debian:buster 2 3RUN set -x \ 4 && apt-get update \ 5 && apt-get install --no-install-recommends --no-install-suggests -y \ 6 mariadb-client \ 7 vim 8 9CMD [ "tail", "-f" ]
db/Dockerfile
1FROM debian:buster 2 3RUN set -x \ 4 && apt-get update \ 5 && apt-get install --no-install-recommends --no-install-suggests -y \ 6 mariadb-server \ 7 mariadb-client \ 8 vim 9 10CMD service mysql start \ 11 && tail -f /dev/null
docker
1version: "3.9" 2 3services: 4 app: 5 build: ./app 6 networks: 7 - frontend 8 9 db: 10 build: ./db 11 expose: 12 - 3306 13 networks: 14 - frontend 15 16networks: 17 frontend: 18 driver: bridge 19 20volumes: 21 db_data: {}
実行コマンド
appコンテナに入って、以下のコマンドを実行しましたが、エラーが出ます。
sh
1root@0e0ad0889639:/# mysql -h db -uroot 2ERROR 2002 (HY000): Can't connect to MySQL server on 'db' (115) 3 4## 接続は出来ているようです。 5root@0e0ad0889639:/# ping db 6PING db (192.168.128.3) 56(84) bytes of data. 764 bytes from test_db_1.test_frontend (192.168.128.3): icmp_seq=1 ttl=64 time=0.104 ms 864 bytes from test_db_1.test_frontend (192.168.128.3): icmp_seq=2 ttl=64 time=0.142 ms
コンテナが接続できない理由を教えて頂きたいです。よろしくお願いします。
試したこと
dbコンテナ側
dbコンテナは初期設定等は行っていないです。
dbのコンテナでmariadbを立ち上げる事はできます。
root@9d3b519e464f:/# service --status-all [ ? ] hwclock.sh [ + ] mysql [ - ] rsync
MariaDB [mysql]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 3 rows in set (0.001 sec) MariaDB [mysql]> SELECT User,Host FROM mysql.user; +------+-----------+ | User | Host | +------+-----------+ | root | localhost | +------+-----------+
appのコンテナ側
コンテナ名を返るとエラーが変わるので、通信自体は出来ていそうです。
root@69ccb34f8a30:/# mariadb -u root -h db ERROR 2002 (HY000): Can't connect to MySQL server on 'db' (115) root@69ccb34f8a30:/# mariadb -u root -h aa ERROR 2005 (HY000): Unknown MySQL server host 'aa' (-2)
環境
sh
1❯ docker -v 2Docker version 20.10.12, build e91ed57 3❯ sw_vers 4ProductName: macOS 5ProductVersion: 12.3 6BuildVersion: 21E230

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。