【发布时间】:2020-03-08 14:04:43
【问题描述】:
如何通过在 Mac Os 主机的 Vagrant guest 中运行的 docker 访问 Mysql?
在 Mac Os(主机)上运行 Ubuntu(来宾)的我的 Vagrant 文件
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/bionic64"
config.vm.provision "docker"
config.vm.network :forwarded_port, guest: 80, host: 8000
config.vm.network :forwarded_port, guest: 3306, host: 33060
config.vm.provision :shell, path: "bootstrap.sh"
end
然后我
vagrant up
还有
vagrant ssh
在虚拟机cd /vagrant 中,我可以运行docker-compose up -d:
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
我也可以从 Ubuntu (Vagrant guest) 访问 mysql:
mysql -uwordpress -pwordpress -h 172.18.0.2
服务器IP由docker inspect vagrant_db_1提供
但是我怎样才能从 Mac Os 主机访问同一个 mysql 服务器呢?
【问题讨论】: