1 つのホスト サーバーで複数の mysql docker コンテナーを実行しようとしました。最初の mysql コンテナを 1 つ設定すると、正常に動作します。同じ手順に従って 2 番目のポートをセットアップし、実行中のポートを 3306 から 3307 に変更し、dump.sql の別のパスを使用します。コンテナーの起動後、ポートを使用してコンテナー IP を使用してコンテナーに telnet を実行することはできませんが、IP に対して ping を実行することはできます。接続が拒否されたことを示しています。bind-address=0.0.0.0 という行を /etc/my.cnf に追加してコンテナーを再起動しようとしても、問題は同じです。2 番目の mysql コンテナーの開始を確認でき、コンテナーでコマンドを実行できますが、約 1 分後にコンテナーは自動的に停止します。
usr@ip-172-0-1-199:~/$ docker run --name=test-db -p 3310:3306 -e MYSQL_ROOT_PASSWORD=pass -e MYSQL_USER=user -e MYSQL_DATABASE=db -e MYSQL_PASSWORD=pass -v dump.sql:/var/lib/mysql -d mysql/mysql-server:5.7
0e3fbcbd9126a726584549a13248eb07eb7d97fbeba4795fb5a924037a66b205
usr@ip-172-0-1-199:~/$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e3fbcbd9126 mysql/mysql-server:5.7 "/entrypoint.sh mysql" 29 seconds ago Up 28 seconds 33060/tcp, 0.0.0.0:3310->3306/tcp test-db
usr@ip-172-0-1-199:~/$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' test-db
172.17.0.4
usr@ip-172-0-1-199:~/$ telnet 172.17.0.4 3310
Trying 172.17.0.4...
telnet: Unable to connect to remote host: Connection refused
usr@ip-172-0-1-199:~/$ ping 172.17.0.4
PING 172.17.0.4 (172.17.0.4) 56(84) bytes of data.
64 bytes from 172.17.0.4: icmp_seq=1 ttl=64 time=0.037 ms
^C
--- 172.17.0.4 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.037/0.042/0.053/0.009 ms
usr@ip-172-0-1-199:~/$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e3fbcbd9126 mysql/mysql-server:5.7 "/entrypoint.sh mysql" About a minute ago Up About a minute 33060/tcp, 0.0.0.0:3310->3306/tcp test-db
usr@ip-172-0-1-199:~/$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e3fbcbd9126 mysql/mysql-server:5.7 "/entrypoint.sh mysql" About a minute ago Up About a minute 33060/tcp, 0.0.0.0:3310->3306/tcp test-db
usr@ip-172-0-1-199:~/$ docker exec test-db "exec mysql -h 172.17.0.4 -u user -p"
Error response from daemon: Container 0e3fbcbd9126a726584549a13248eb07eb7d97fbeba4795fb5a924037a66b205 is not running
usr@ip-172-0-1-199:~/$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
usr@ip-172-0-1-199:~/$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e3fbcbd9126 mysql/mysql-server:5.7 "/entrypoint.sh mysql" 2 minutes ago Exited (1) 37 seconds ago test-db