MySQL çalışma tezgahını MySQL konteynerine bağlayın


9

MySQL konteynerini Dockerhub'dan aldım ve aşağıdaki gibi gördüğünüz gibi macbook pro üzerinde çalışıyor

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
12cd3deaa3f0        mysql:latest        "/entrypoint.sh mysql"   47 hours ago        Up 10 minutes       3306/tcp            mysqldb

Sonra MySQL tezgahını indirdim ve MySQL konteynerine bağlamaya çalıştım, ama çalışmıyor. Bağlantı hatası gösterir.

Your connection attempt failed for user 'root' from your host to server at 192.168.99.102:3306:
Can't connect to MySQL server on '192.168.99.102' (60)

Liman işçisi makinesinin IP adresi

docker-machine ip default
192.168.99.100

ve yukarıda gördüğünüz gibi MySQL bağlantı noktası 3306'dır.

MySQL portunu dışa aktarmak için şu ifadeyi denedim:

docker run -d -P mysql:latest mysqldb

Hiç çalışmıyor. Neyi yanlış yapıyorum?

Yanıtlar:


9

-p 3306:3306Parametreyi ayarlamadan kapsayıcıyı çalıştırdığınız anlaşılıyor. Ayrıca, MySQL Workbench'teki Hostname'nin IP adresini yanlış yazmışsınız gibi görünüyor. Aşağıdaki talimatları izleyerek sıfırdan başlamanızı öneririm:

  1. MySQL sunucusunu çalıştırın. (Parolayı administediğiniz herhangi bir şeyle değiştirin )

docker run -e MYSQL_ROOT_PASSWORD=admin --name mysql -d -p=3306:3306 mysql

  1. çalıştırarak varsayılan docker sanal makinesinin IP adresini alın

docker-machine ip default

  1. Önceki komutun sonucunda alacağınız IP adresini kopyalayın. (sizin durumunuzda 192.168.99.100 olmalıdır)
  2. MySQL Workbench'i açın ve yeni bir bağlantı oluşturun. Kopyaladığınız IP adresini "Ana Bilgisayar Adı" alanına yapıştırın.

Şimdi hepiniz hazır olmalısınız.


1

Parametre -P, bir kabın dışa aktarılan bağlantı noktalarını otomatik olarak ana bilgisayarın kullanılabilir bağlantı noktalarına bağlar .

Aşağıdaki komut, kapların portunu 3306 ana bilgisayarın 3306 portuna bağlamalıdır. Bkz. Bağlantı noktasını yayınlama veya gösterme

docker run -d -p 3306:3306 mysql:latest mysqldb

Ifade yazdım docker run -d -p 3306:3306 mysql:5.7.9 dbmysqlve çıktı olarak ben var d38a0f208bcda50132d7f6f679c9282b0d90b275610b8d19ac93bf82d94eea43ama yine de mysql çalışma tezgahı ile mysql konteyner erişemiyorum. d6b44992ec77 mysql:5.7.9 "/entrypoint.sh mysql" About a minute ago Up About a minute 3306/tcp dbmysql
Docker
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.