啟動虛擬機(jī)并進(jìn)入
$ 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
運(yùn)行容器
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
進(jìn)入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
選項(xiàng)怪得,則需要docker stop
后再docker rm
移除鏡像。
docker@default ~$ docker rm mynginx
目前雖然Docker中的Nginx已經(jīng)運(yùn)行起來漫玄,但是為了每次配置方便别洪,我們需要將Nginx的配置文件婴氮、靜態(tài)目錄、日志目錄掛載到宿主機(jī)上祝钢,這樣在宿主機(jī)上修改配置后催跪,可以同步到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)了一個(gè)問題是:如果我掛載mynginx容器中/etc/nginix
目錄則不能啟動容器惑艇,怎么辦呢蒿辙?
經(jīng)過檢查發(fā)現(xiàn)在/etc/nginx/nginx.conf
配置文件中配置多域名的最終文件在/etc/nginx/conf.d
目錄下,于是滨巴,我就改變的掛載點(diǎn):
# 首先停止容器并自動刪除
docker@default ~$ docker stop mynginx
# 重新設(shè)置掛載點(diǎn)后運(yùn)行容器
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ù)...