• docker运行nginx镜像


    今天在这里讲如何在docker上运行nignx镜像,并将配置文件和目录挂载到宿主机上,以实现方便统一的管理配置信息。

    首先第一步需要拉取镜像,我们还是拉取最新的镜像,不需要添加tag版本号,

    docker pull nginx

    拉取结束后用docker images 查看是否拉取成功,如图中可以看到nginx的镜像了。

    docker

    docker运行nginx镜像_docker

    拉取成功后需要创建文件和文件夹用于运行的时候挂载,

    1. mkdir -p /usr/local/nginx/conf
    2. mkdir -p /usr/local/nginx/logs
    3. mkdir -p /usr/local/nginx/html

    下面需要先运行容器,方便把文件本来的内容拷贝出来,然后再将容器删除,因为自己手动创建的配置文件容易有语法错误,当然如果你有了争取的配置文件也可以直接使用,就不需要创建容器拷贝出来后再删除这个操作了。接下来几个步骤可以跳过:

    1. # 1. 先用 nginx 镜像创建 nginx 容器,将需要挂载的文件拷贝出来
    2. docker run --name nginx -d -p 80:80 nginx
    3. # 2. 将容器中的 nginx.conf 文件拷贝到宿主机中
    4. docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf
    5. # 3. 将容器中 conf.d 文件夹(包括里面的文件)拷贝到宿主机中
    6. docker cp nginx:/etc/nginx/conf.d /usr/local/nginx/conf/conf.d
    7. # 4. 将容器中的 html 文件夹拷贝到宿主机中
    8. docker cp nginx:/usr/share/nginx/html /usr/local/nginx/
    9. # 5.删除正在运行的容器容器(-f 的参数作用是强制删除)
    10. docker rm -f nginx

    最终可以在宿主机中看到这些目录和文件夹,并且其中的html中包含了html文件,conf文件夹中包含了配置文件。

    docker运行nginx镜像_nginx_02

    全部准备好后,做最终的文件夹挂载,端口映射

    # 要执行的命令

    1. #运行启动命令,并将端口进行映射,文件进行挂载。
    2. docker run -p 80:80 --name nginx -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d -v /usr/local/nginx/logs:/var/log/nginx -v /usr/local/nginx/html:/usr/share/nginx/html -d --restart=always nginx:latest
    3. #格式化后的代码
    4. docker run -p 80:80 --name nginx \
    5. -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
    6. -v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d \
    7. -v /usr/local/nginx/logs:/var/log/nginx \
    8. -v /usr/local/nginx/html:/usr/share/nginx/html \
    9. -d \
    10. --restart=always \
    11. nginx:latest
    12. # 1.--name是设置容器名
    13. # 2.-p是容器与宿主机的端口映射
    14. # 3.-v是做卷挂载,实质上就是文件的映射
    15. # 4.-d是后台运行
    16. # 5.--restart 是Docker提供重启策略控制容器退出时或Docker重启时是否自动启动该容器。,always表示docker重启后,这个容器会自动重启

    执行完成后,在浏览器查看是否可以访问。

    docker运行nginx镜像_nginx_03

    以上就是docker运行nginx的所有步骤了,如果要配置ssl的话,需要先去域名申请证书,再配置到配置文件中,docker的操作步骤不影响。不过以上要注意几个问题

    • 容器的端口要映射出来才可以访问,如果是在阿里云服务器上,还需要把阿里云的对应的端口开通
    • 如果部署的是前端系统,需要把前端文件放到挂载的文件夹中,且nginx配置的访问路径是容器中对应的路径,不要配置成宿主机中的路径,否则会访问不到的

    好了,以上如果有问题可以在评论区给我留言

  • 相关阅读:
    信息抽取(UIE)技术:让保险理赔信息处理流程便捷高效
    【CMU15-445 Part-12】Query Execution I
    1300*C. Rumor(并查集&贪心)
    【博学谷学习记录】超强总结,用心分享|架构师-RabbitMQ消息可靠性保障
    如何读取 resources 目录下的文件路径?
    从零学算法 (LCR 177. 撞色搭配)
    IDEA连接hadoop hdfs
    Nginx__高级进阶篇之LNMP动态网站环境部署
    灯光秀如何打造夜间经济新增长点
    C++包含整数各位重组
  • 原文地址:https://blog.csdn.net/qq_26881073/article/details/133920802