docker+nginx 安装部署修改资源目录配置文件和容器端口信息( 二 )


通过该命令,就可以拷贝本地内容到容器里面去,如下面命令就可以将html文件拷贝到nginx容器的静态资源目录:
【docker+nginx 安装部署修改资源目录配置文件和容器端口信息】docker cp /usr/nginx/html/mian.html nginx:/usr/share/nginx/html也可以拷贝配置文件:
// 从容器拷贝到本地目录docker cp nginx:/etc/nginx/nginx.conf /usr/nginx/nginx.conf// 从本地目录拷贝到容器docker cp /usr/nginx/nginx.conf nginx:/etc/nginx/nginx.conf通过拷贝的方式,可以变更静态资源文件,修改配置文件,查看log日志等等 。
端口问题注意:在通过 docker run 命令启动nginx的时候,通过 -p 设置了端口,默认选择的nginx容器的端口号是80 。如果通过配置文件修改了nginx容器的端口号,如把 server 80 改成 server 8080,在重启nginx容器,此时,nginx服务会失效,无法有效访问站点 。即非80端口的容器,无法访问 。
如果要部署多个网站,可以启动多个容器,每个容器可以对应一个端口号 。这时,可以修改每个容器的日志配置资源文件等内容 。
修改运行中的容器的端口的方法

  • 停止 nginx 容器的运行,docker stop nginx
  • 查看 nginx 容器的id,docker inspect nginx | grep "Id", 会显示完整的容器Id
  • 通用路径 /var/lib/docker/containers/{容器Id}/hostconfig.json,里面就存放有容器端口和本地端口,可以进行修改,通过 vi 命令查看、修改:
    docker+nginx 安装部署修改资源目录配置文件和容器端口信息

    文章插图
    80/tcp 是容器端口,HostPort: 8005 是本地端口,可修改 。
  • 重启docker, systemctl restart docker
  • 重启nginx容器, docker start nginx

经验总结扩展阅读