docker-composeを使ってコンテナオーケストレーションを学んでいます。
以下のフォルダ構成で、appコンテナから、dbコンテナのmariadbにアクセスしたいのですが、エラーが出てうまくいきません。
ディレクトリ構成
. ├── app │ └── Dockerfile ├── db │ └── Dockerfile └── docker-compose.yml
コード
app/Dockerfile
FROM debian:buster RUN set -x \ && apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y \ mariadb-client \ vim CMD [ "tail", "-f" ]
db/Dockerfile
FROM debian:buster RUN set -x \ && apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y \ mariadb-server \ mariadb-client \ vim CMD service mysql start \ && tail -f /dev/null
docker
version: "3.9" services: app: build: ./app networks: - frontend db: build: ./db expose: - 3306 networks: - frontend networks: frontend: driver: bridge volumes: db_data: {}
実行コマンド
appコンテナに入って、以下のコマンドを実行しましたが、エラーが出ます。
sh
root@0e0ad0889639:/# mysql -h db -uroot ERROR 2002 (HY000): Can't connect to MySQL server on 'db' (115) ## 接続は出来ているようです。 root@0e0ad0889639:/# ping db PING db (192.168.128.3) 56(84) bytes of data. 64 bytes from test_db_1.test_frontend (192.168.128.3): icmp_seq=1 ttl=64 time=0.104 ms 64 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
❯ docker -v Docker version 20.10.12, build e91ed57 ❯ sw_vers ProductName: macOS ProductVersion: 12.3 BuildVersion: 21E230
まだ回答がついていません
会員登録して回答してみよう