2016-07-23 55 views
4

当我之前使用泊坞窗,我可以用docker-machine ssh default设置在码头工人的机器/etc/hosts主机,但在搬运工的Mac我不能访问它的虚拟机,因为它不具备它。 那么,问题是how to set hosts in docker for mac? 我的辅助域名想要指向另一个IP。如何设置泊坞窗主机的MAC

回答

0

您必须创建一个docker-compose.yml文件。这个文件将是你Dockerfile 例如在同一条路线,我用这个搬运工,compose.yml文件:

version: '2' 
services: 
    app: 
    hostname: app 
    build: . 
    volumes: 
     - ./:/var/www/html 
    working_dir: /var/www/html 
    depends_on: 
     - db 
     - cache 
    ports: 
     - 80:80 
    cache: 
    image: memcached:1.4.27 
    ports: 
     - 11211:11211 
    rabbitmq: 
    image: rabbitmq:latest 
    ports: 
     - 5672:5672 
    db: 
    image: postgres:9.5.3 
    ports: 
     - 5432:5432 
    environment: 
     - TZ=America/Mazatlan 
     - POSTGRES_PASSWORD=root 
     - POSTGRES_DB=restaurantcore 
     - POSTGRES_USER=rooms 
     - POSTGRES_PASSWORD=rooms 

的端口与主机泊坞窗机的端口绑定。

+0

感谢您的回答。我认为我的表达不清楚,我想将自定义图像推送到我的dhub,但是这个二级域名不能解决,并且由于某种原因,我无法做到这一点。所以我必须在主机上设置它的IP地址,之前我将它设置在boot2docker.iso中,但现在没有虚拟机启动,所以我不知道如何设置它。 – Cui

3

我找到了一个解决方案,使用此命令

screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty 

现在,在泊坞VM编辑/etc/hosts
要退出screen,请使用Ctrl + a + d

+0

@Eldad AK感谢您的支持 – Cui

1

以下是我如何使用bash脚本执行此操作,以便在Docker for Mac重新启动之间进行更改。

​​3210
+0

我在http://blog.phymata.com/2017/05/07/docker-for-mac-configuration-persistence/上写了一些更全面的内容。 –

1

您可以通过这个脚本自动执行它,运行启动时间这股代息或登录时间将节省你..

#!/bin/sh 
# host entry -> '10.4.1.4 dockerreigstry.senz.local' 
# 1. run debian image 
# 2. check host entry exists in /etc/hosts file 
# 3. if not exists add it to /etc/hosts file 
docker run --name debian -it --privileged --pid=host debian nsenter \ 
    -t 1 -m -u -n -i sh \ 
    -c "if ! grep -q dockerregistry.senz.local /etc/hosts; then echo -e '10.4.1.4\tdockerregistry.pagero.local' >> /etc/hosts; fi" 

# sleep 2 seconds 
# remove stopped debian container 
sleep 2 
docker rm -f debian 

我创建了一个博客张贴有关此主题的更多信息。

https://medium.com/@itseranga/set-hosts-in-docker-for-mac-2029276fd448