Saya ingin menggunakan bekas mysql, buat bekas mengikut penerangan di hub
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8
docker run -d --name nx --link mysql:db nginx
Sambungan tidak berjaya apabila menggunakan bekas asas secara langsung
~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bf673d61f789 nginx "nginx -g 'daemon ..." 3 seconds ago Up 2 seconds 80/tcp, 443/tcp nx
1ac01c685e9b mysql:8 "docker-entrypoint..." About a minute ago Up About a minute 3306/tcp mysql
Tidak boleh mengakses localhost:3306 dalam nginx
Gunakan arahan docker inspect -f "{{ .HostConfig.Links }}" proksi
docker inspect -f "{{ .HostConfig.Links }}" proxy
[/mysql:/nx/db]
[/mysql:/nx/db]
untuk melihat bahawa sambungan berjaya
nginx menjadi hos di
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.4 db 1ac01c685e9b mysql
172.17.0.6 8242073e142b
Nampak rawak sikit,
Sangat berbeza daripada localhost:3306 yang saya jangkakan
Adakah terdapat cara untuk menggunakan localhost:3306 selepas menyambung?
Pautan adalah untuk mewujudkan pautan rangkaian antara dua kontena, bukan untuk menggabungkan port rangkaian kedua-dua kontena bersama-sama! !
Sila akses
localhost:3306
换成访问db:3306
untuk berjaya mengakses perkhidmatan pangkalan data