啟動虛擬機并進入
$ docker-machine ls
$ docker-machine start default
$ docker-machine ip
192.168.99.100
$ docker-machine ssh default
docker@default ~$
從DockerHub中搜索Nginx鏡像
docker@default ~$ docker search nginx
從DockerHub拉取Nginx鏡像
docker@default ~$ docker pull nginx
docker@default ~$ docker images | grep nginx
運行容器
docker@default ~$ docker run -d -p 8000:80 --rm --name mynginx nginx
查看Ngnix容器是否已經(jīng)啟動
docker@default ~$ docker ps -a | grep mynginx
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ea6cc94195d nginx "nginx -g 'daemon of…" 3 seconds ago Up 3 seconds 0.0.0.0:8000->80/tcp mynginx
使用瀏覽器訪問 http://192.168.99.100:8000

Nginx
進入mynginx容器
docker@default ~$ docker exec -it mynginx bash
root@2ea6cc94195d:/#
查看Nginx安裝地址
root@2ea6cc94195d:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
退出mynginx容器
root@2ea6cc94195d:/# exit
停止后刪除mynginx容器
docker@default ~$ docker stop mynginx
如果在docker run中沒有添加--rm選項,則需要docker stop后再docker rm移除鏡像。
docker@default ~$ docker rm mynginx
目前雖然Docker中的Nginx已經(jīng)運行起來,但是為了每次配置方便,我們需要將Nginx的配置文件、靜態(tài)目錄、日志目錄掛載到宿主機上,這樣在宿主機上修改配置后,可以同步到Docker中的Nginx中。
docker@default ~$ docker run -d -p 8000:80 -v /share/nginx/html:/usr/share/nginx/html --rm --name mynginx nginx
檢查下是否掛載成功
docker@default ~$ docker ps -a | grep mynginx
59d01719ec69 nginx "nginx -g 'daemon of…" 7 seconds ago Up 6 seconds 0.0.0.0:8000->80/tcp mynginx
這里出現(xiàn)了一個問題是:如果我掛載mynginx容器中/etc/nginix目錄則不能啟動容器,怎么辦呢?
經(jīng)過檢查發(fā)現(xiàn)在/etc/nginx/nginx.conf配置文件中配置多域名的最終文件在/etc/nginx/conf.d目錄下,于是,我就改變的掛載點:
# 首先停止容器并自動刪除
docker@default ~$ docker stop mynginx
# 重新設置掛載點后運行容器
docker@default ~$ docker run -d -p 8000:80 -v /share/nginx/html:/usr/share/nginx/html -v /share/nginx/etc/conf.d:/etc/nginx/conf.d --rm --name mynginx nginx
# 檢查鏡像是否啟動成功掛載是否成功
docker@default ~$ docker ps -a|grep mynginx
416d2b067450 nginx "nginx -g 'daemon of…" 6 minutes ago Up 6 minutes 0.0.0.0:8000->80/tcp mynginx
這一次成功了,但是疑惑仍然留下心頭。
未完待續(xù)...