Wenn ich Docker vor Gebrauch, ich docker-machine ssh default
verwenden können Hosts in Docker der Maschine zu setzen /etc/hosts
, aber in Docker für mac Ich kann es nicht ist VM zugreifen, da es nicht über es. Also, das Problem ist how to set hosts in docker for mac
? Meine sekundäre Domäne möchte die andere IP zeigen.Wie für Mac-Hosts in Docker setzen
Antwort
Sie müssen eine docker-compose.yml
Datei erstellen. Diese Datei auf der gleichen Route Ihrer Dockerfile
Zum Beispiel wird, verwende ich diese Docker-compose.yml Datei:
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
Die Anschlüsse sind mit den Ports des Host-Docker Maschine verbindlich.
ich eine Lösung gefunden, verwenden Sie diesen Befehl
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
nun die /etc/hosts
in dem Docker VM bearbeiten.
Um screen
zu beenden, verwenden Sie Ctrl + a + d
.
@Eldad AK danke für corret es – Cui
Hier ist, wie ich es mit einem Bash-Skript mache, so dass die Änderungen zwischen Docker für Mac neu gestartet werden.
cd ~/Library/Containers/com.docker.docker/Data/database
git reset --hard
DFM_HOSTS_FILE="com.docker.driver.amd64-linux/etc/hosts"
if [ ! -f ${DFM_HOSTS_FILE} ]; then
echo "appending host to DFM /etc/hosts"
echo -e "xxx.xxx.xxx.xxx\tmy.special.host" > ${DFM_HOSTS_FILE}
git add ${DFM_HOSTS_FILE}
git commit -m "add host to /etc/hosts for dns lookup"
fi
Ich schrieb etwas gründlicher auf diese auf http://blog.phymata.com/2017/05/07/docker-for-mac-configuration-persistence/ –
Sie können es über dieses Skript automatisieren, um dieses Scrip Laufzeit beim Start oder Zeit anmelden werden Sie ..
#!/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
ich einen Blog-Post zu diesem Thema mit weiteren Informationen erstellt haben, speichern.
https://medium.com/@itseranga/set-hosts-in-docker-for-mac-2029276fd448
- 1. Docker: Container-Namen in Dockerfile setzen
- 2. Dockerfile HOSTNAME Anweisung für docker build wie docker run -h
- 3. Docker-Daemon Log für Docker für Mac
- 4. Wie ein Pfad auf dem Host setzen unten für ein benannten Volumen in Docker-compose.yml
- 5. Wie zu .bashrc für root in Docker
- 6. Wie docker Bild mit Docker-komponieren
- 7. wie setzen docker_opts auf Windows
- 8. Wie 50% für Breite setzen
- 9. Motivation für das Setzen von Docker-Containern in eine AWS EC2-Instanz
- 10. CI & Docker-in-a-Docker
- 11. Docker Bild für Windows
- 12. Versionsinkrement für Docker-Bilder
- 13. Wie werden Docker-Befehle als Nicht-Root-Benutzer in Docker in Docker ausgeführt?
- 14. In Docker laufen, wie Mehrwert in --ulimit
- 15. docker set iptables-Optionen in docker-compose.yml
- 16. Umgebungsvariablen in Docker
- 17. Wie laufen Docker-komponieren gegen Docker Schwarm (ohne Docker-Maschine)
- 18. Swift - Wie Anfangswert setzen für NSUserDefaults
- 19. Redis als Sitzungsspeicher für WordPress in Docker
- 20. Wie kann ich Bildhintergrund für linearout setzen?
- 21. Wie eine Bedingung für ein Auswahlfeld setzen
- 22. Wie debug setzen false für Release-Modus
- 23. Wie installiert Behath in Docker-Container für Laravel-Umgebung mit Docker-Compose?
- 24. Wie System-weite Umgebungsvariable für jvm.dll setzen
- 25. wie aktualisieren Docker in coreos
- 26. Docker: DNS für Container einrichten
- 27. Ändern Swappiness für Docker-Container
- 28. Wie für JavaScript-Objekt-Klassennamen setzen
- 29. Docker für Mac Host-Netzwerk
Danke für Ihre Antwort. Ich denke, mein Ausdruck ist nicht klar, ich möchte ein benutzerdefiniertes Bild zu meinem Dhub schieben, aber diese sekundäre Domäne ist nicht aufgelöst, und aus irgendeinem Grund kann ich es nicht tun. Also muss ich seine IP in Hosts setzen, in zuvor, ich habe es in boot2docker.iso gesetzt, aber jetzt gibt es keinen Start der virtuellen Maschine, also weiß ich nicht, wie ich es einstellen soll. – Cui