Docker Nginx

启动虚拟机并进入

$ 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容器是否已经启动

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已经运行起来,但是为了每次配置方便,我们需要将Nginx的配置文件、静态目录、日志目录挂载到宿主机上,这样在宿主机上修改配置后,可以同步到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

这里出现了一个问题是:如果我挂载mynginx容器中/etc/nginix目录则不能启动容器,怎么办呢?

经过检查发现在/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

这一次成功了,但是疑惑仍然留下心头。

未完待续...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容