2016-07-23 42 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