Docker 淺入淺出
- 11. Concept
映像檔 - Image (git log / Vagrant Box)
容器 - Container (staging / Running VM)
倉庫 - Repository (GitHub / VagrantCloud)
- 20. Command - Hello world
$ docker run -d nginx
$ docker run -d nginx:1.11-alpine
$ docker images
$ docker ps
$ docker stop
$ docker rm
- 21. Command - Port forwarding
$ docker run -d --name my-nginx -p 0.0.0.0:8080:80 nginx
$ docker stop my-nginx
$ docker rm -f my-nginx
--name: 容器名稱
-p: 設定連接埠,格式 [hostIP]:[hostPort]:[ContainerPort]
- 22. Command - Run PHP command
$ docker run --rm -it php php -v
--rm: 執行完指令就把容器刪除
-it: 開啟互動和終端機輸出,執行過程中有輸入就需要這兩個選項
php: 映像檔,沒有 tag 的話,預設會用 latest 最新版
php -v: 要在容器執行的命令
- 23. Command - Run local program
$ echo "<?php echo 'hello world'; ?>" > hw.php
$ docker run -v `pwd`:/var/www/html php php
/var/www/html/hw.php
-v: 掛載檔案到容器,參數格式 [/host]:[/container]
php /var/www/html/hw.php: 執行 php
- 25. Command - Link
$ docker run -d --name cache -d memcached
$ docker run -d --name my-nginx --link cache:c nginx
$ docker exec -it my-nginx bash
# apt-get install telnet
# telnet c 11211
--link: 連接到某個容器,格式 [容器名]:[別名]