经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Docker » 查看文章
[Docker] Docker之安装Nginx
来源:cnblogs  作者:千千寰宇  时间:2023/5/30 14:14:57  对本文有异议

0 序言

1 安装步骤

Step1 下载镜像

  • 搜素、下载镜像

https://hub.docker.com/_/nginx?tab=tags
这里选择官方镜像1.22.0版本

  1. docker search nginx
  2. docker pull nginx:1.22.0

  • 查看下载的镜像
  1. docker images

Step2 在宿主机创建挂载目录

用于存放默认页面、日志、配置文件,把这些文件挂载到宿主机上好处是:

在需要频繁修改Nginx配置的场景中,不需要关注容器中的数据,直接删除重建容器就好。
如果已经提前把对应nginx版本需要挂载的文件打包好了,这里直接解压放在对应的路径即可,不需要执行下面从容器复制文件的步骤。

  1. cd /opt
  2. tar -zxvf /opt/docker-nginx.tar.gz

没有这些文件的话,就创建目录,从容器中复制过来。

  • 创建目录
  1. mkdir -p /opt/docker-nginx

Step3 从容器中复制要挂载的文件

先简单创建容器运行,从容器里面复制要挂载的文件到宿主机上。

  • 创建并运行容器,容器命名为nginx
  1. docker run --name nginx -p 80:80 -d nginx:1.22.0
  • 从容器nginx中复制nginx.conf文件到宿主机
  1. docker cp nginx:/etc/nginx/nginx.conf /opt/docker-nginx/
  2. ls -la /opt/docker-nginx/
  3. docker cp nginx:/etc/nginx/conf.d/ /opt/docker-nginx/conf/
  4. docker cp nginx:/usr/share/nginx/html/ /opt/docker-nginx/html/
  5. docker cp nginx:/var/log/nginx/ /opt/docker-nginx/logs/

复制出的docker-nginx目录结构如下图:

  • 打包目录

/opt目录下生成文件docker-nginx.tar.gz

  1. cd /opt
  2. tar -czvf docker-nginx.tar.gz /opt/docker-nginx/*
  3. ls /opt
  • 停止、删除容器
  1. docker stop nginx
  2. docker rm nginx

Step4 创建并运行容器

  1. docker run -p 80:80 -v /opt/docker-nginx/nginx.conf:/etc/nginx/nginx.conf -v /opt/docker-nginx/logs:/var/log/nginx -v /opt/docker-nginx/html:/usr/share/nginx/html -v /opt/docker-nginx/conf:/etc/nginx/conf.d -v /etc/localtime:/etc/localtime --name nginx --restart=always -d nginx:1.22.0

参数说明:

  • -p 映射端口,格式为“宿主机端口:容器端口”
  • -v 挂载文件
  1. docker run -it -v /test:/soft centos /bin/bash
  2. 冒号":"前面的目录是宿主机目录,后面的目录是容器内目录
  3. 容器目录不可以为相对路径
  4. 宿主机目录如果不存在,则会自动生成
  • -e TZ=Asia/Shanghai 设置时区
  • --privileged=true 让容器中的root用户拥有真正的root权限
  • --name 容器名字,以后可以使用这个名字启动或者停止容器
  • --restart=always docker启动时自动启动容器
  • -d 指定要启动的镜像名

如下图,执行后返回容器id没有报Error,查看容器列表,nginx容器状态正常,则安装成功。

  1. docker ps -a

Step5 浏览器访问

浏览器访问http://ip:80,可以看到nginx页面

如果安装失败,查看容器列表是否已有nginx容器,有的话需要删除容器后再重新创建。

X 参考文献

原文链接:https://www.cnblogs.com/johnnyzen/p/17439311.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号