Docker使用技巧

1, 如何在Docker容器中運行GUI程序?

gemfield@ai:~$ docker run -it > --user $(id -u) > -e DISPLAY=unix$DISPLAY > --workdir=$(pwd) > --volume="/home/$USER:/home/$USER" > --volume="/etc/group:/etc/group:ro" > --volume="/etc/passwd:/etc/passwd:ro" > --volume="/etc/shadow:/etc/shadow:ro" > --volume="/etc/sudoers.d:/etc/sudoers.d:ro" > -v /tmp/.X11-unix:/tmp/.X11-unix > gemfield/firefox

2,如何保證Docker的時間和宿主機上的時間一樣?

volumes:

- "/etc/timezone:/etc/timezone:ro"

- "/etc/localtime:/etc/localtime:ro"

3,如何在運行中的Docker容器中映射埠到宿主機?

#最簡單的方法是直接訪問Docker容器的IP,比如wget http://container_ip:8000#使用下面的命令來獲得容器的IPgemfield@ai:~$ docker inspect b314ebbf3acc| grep IPAddress "SecondaryIPAddresses": null, "IPAddress": "172.17.0.2", "IPAddress": "172.17.0.2",#容器的ID用ps命令拿到gemfield@ai:~$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb314ebbf3acc ubuntu:16.04 "bash" About an hour ago Up About an hour blissful_blackwell#要暴露埠5000到宿主機的7030上gemfield@ai:~$ iptables -t nat -A DOCKER -p tcp --dport 7030 -j DNAT --to-destination 172.17.0.2:5000

推薦閱讀:

R語言實戰—03圖形初階

TAG:容器 | 圖形 | Docker |