【发布时间】:2016-10-16 08:19:10
【问题描述】:
我在 Mac OS X 上运行 Vagrant 和 Virtualbox。我使用 Virtualbox 提供程序(some_centos 机器)创建了一个 vagrant 盒子,使用 docker 提供程序创建了第二个盒子。下面你会看到 docker 定义。
config.vm.define "mysql" do |m|
m.vm.hostname = "mysql-host"
m.vm.synced_folder ".", "/vagrant", disabled: true
m.ssh.insert_key = false
m.ssh.username = 'docker'
m.ssh.password = 'tcuser'
m.vm.network "public_network", use_dhcp_assigned_default_route: true
m.vm.provider "docker" do |docker|
# Specify the Docker image to use
docker.image = "mysql/mysql-server"
# Specify port mappings
# If omitted, no ports are mapped!
docker.create_args = ["-p", "3306:3306","-e","MYSQL_ROOT_PASSWORD=password", "-e", "MYSQL_DATABASE=database"]
# Specify a friendly name for the Docker container
docker.name = 'mysql-server-container'
#We want to keep it running.
docker.remains_running = true
end
结束
两台机器都启动了,但我想做的是通过使用 mysql 客户端连接到它来从“some_centos”主机访问该 mysql docker 机器。不幸的是我失败了。请注意,在 Mac OS 上,当您使用 vagrant docker provider 时,它将创建 boot2docker iamge 然后创建 docker。不知道如何解决问题,例如我可以 ssh 进入“some_centos”,但不能运行 mysql -h "docker-host" -uroot -p。
【问题讨论】:
标签: docker vagrant virtualbox boot2docker