【docker】容器运行nginx&&挂载宿主机文件

前面一篇 【docker其实很简单】 分享了docker的基本用法,以安装nginx为例展示了强大的docker,本文继续分享如何将容器中的相关文件(目录)挂载到宿主机上。 当前nginx最新version为1.17.10。

安装nginx并启动只需一步操作,但是进行相关配置需要进入到容器中。

#d:daemon p映射端口宿主机:容器
docker -d -p 80:80 nginx
#查看docker容器进程
docker ps
#交互进入容器 cid为容器id
docker exec -it cid bash

修改相关文件需要进进出出容器还是比较麻烦的,docker可以通过宿主机和容器进行映射,类似-p端口映射操作,可以将容器内文件挂载mount到宿主机本地。这里通过--name对容器进行命名,对配置文件,日志路径,及html文件目录进行挂载。

docker run --name nginx -d -p 80:80 \
  -v /app/docker_nginx/log:/var/log/nginx \
  -v /app/docker_nginx/conf:/etc/nginx/conf.d \
  -v /app/docker_nginx/nginx.conf:/etc/nginx/nginx.conf \
  -v /app/docker_nginx/html:/usr/share/nginx/html \
  nginx

在本地创建相关目录及文件夹,注意容器中相关文件的目录,html文件夹的目录是/usr/share/nginx/html。配置文件可以先copy下容器里的配置文件,注意copy下conf.d目录下的default.conf文件。

可以在宿主机和容器之间copy文件,类似虚拟机和虚拟机之间的scp,也可以直接在宿主机通过交互向容器发送信号。

docker cp ngixn:/etc/nginx/nginx.conf /nginx/nginx.conf
docker exec -i nginx nginx -s reload


猜你喜欢

转载自blog.51cto.com/15060464/2638263