【docker部署nginx】

docker

安装 Docker
首先,确保您的系统上已经安装了 Docker。您可以参考 Docker 官方文档获取适合您操作系统的安装指南。 下面以Centos8 做案例 并 补充对应 win 命令

镜像推荐

  "registry-mirrors": [
    "https://registry.hub.docker.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
  ]

docker-nginx

我以nginx为例子,说明 在root创建nginx文件夹

1.1、拉取镜像 查看版本

在终端或命令提示符中,运行以下命令来拉取最新的 Nginx 官方镜像: docker pull nginx # 默认最新

docker pull nginx # 默认最新
docker pull nginx:1.17.8 # 指定版本 下面案例以1.17.8
docker images # 查看版本

在这里插入图片描述

1.2、 在root创建nginx文件夹

 mkdir -p /root/nginx/html
 mkdir -p /root/nginx/conf 
 mkdir -p /root/nginx/logs

在这里插入图片描述

1.3、 运行 nginx 容器

要在 Docker 中运行 nginx ,您可以使用以下命令:

sudo docker run --name nginx178 -p 80:80 -d nginx:1.17.8
docker run --name nginx178 -p 80:80 -d nginx:1.17.8 # win

-d 选项表示以守护式(后台)模式运行容器。
-p 80:80 用于将主机的 80 端口映射到容器内的 80 端口,这样您就可以通过主机的 80 端口访问容器内运行的 nginx 服务。
例如,如果您的服务器上已经运行了其他占用 80 端口的服务,您可能需要将映射端口修改为其他未被占用的端口,比如 -p 8080:80 ,然后通过 http://<主机 IP>:8080 来访问 nginx 服务。
在这里插入图片描述

docker stop nginx178 # 停止 --name nginx178  容器 或者 docker stop 110ab8a429d0

要重新运行之前使用 docker stop 命令停止的名为 nginx178 的容器,您可以使用以下命令:

docker start nginx178

要删除名为 nginx178 的容器,您可以使用以下命令:

docker rm nginx178

启动nginx178 容器

  docker start nginx178
  docker ps

1.4、 拷贝配置文件

如果您需要将容器内的文件或目录拷贝到本地,使用以下命令格式:

 # 从容器复制到本地-》》 前提容器需要启动
 docker cp 容器名称:容器内路径 本地路径
 docker cp nginx178:/etc/nginx/nginx.conf /root/nginx/conf/nginx.conf

window 我需要拷贝到的盘符 D:\docker-volume\nginx\conf 主要拷贝这个 nginx.conf 也可以拷贝 html/var/cache/nginx 下的缓存 /var/log/nginx 下的日志

docker cp nginx178:/etc/nginx/nginx.conf   D:\docker-volume\nginx\conf\nginx.conf

停止并删除 nginx178 容器 :

docker stop nginx178
docker rm nginx178

1.5、 映射端口映射与挂载

   docker run -d -p 9099:99  -p 80:80 -p 443:443 --name nginx178 -v /root/nginx/html:/usr/share/nginx/html -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/logs:/var/log/nginx --privileged=true nginx:1.17.8

-v /root/nginx/cache:/var/cache/nginx \ # 映射缓存目录 需要提前创建

这段 Docker 命令的含义如下:

  • docker run :表示运行一个新的 Docker 容器。
  • -d :以守护式(后台)模式运行容器。
  • -p 9099:99 -p 80:80 -p 443:443 :将主机的 9099 端口映射到容器内的 99 端口,80 端口与容器内的 80 端口映射,443 端口与容器内的 443 端口映射,以便通过主机端口访问容器内相应端口提供的服务。
  • --name nginx178 :为容器命名为 nginx178 ,方便后续对该容器进行管理和操作。
  • -v /root/nginx/html:/usr/share/nginx/html :将主机的 /root/nginx/html 目录挂载到容器内的 /usr/share/nginx/html 目录,使得容器可以访问主机上该目录中的网页文件。
  • -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf :将主机的 /root/nginx/conf/nginx.conf 配置文件挂载到容器内的 /etc/nginx/nginx.conf 位置,使用自定义的配置文件来配置容器内的 nginx 服务。
  • -v /root/nginx/logs:/var/log/nginx :将主机的 /root/nginx/logs 目录挂载到容器内的 /var/log/nginx 目录,使容器内 nginx 产生的日志能存储在主机的指定目录中。
  • --privileged=true :给予容器特权权限。
  • nginx:1.17.8 :指定要使用的 nginx 镜像版本为 1.17.8

例如,如果您在主机的 /root/nginx/html 目录中放置了自定义的网页文件,通过上述挂载配置,容器内的 nginx 服务就能提供这些自定义的网页;如果您修改了主机上的 /root/nginx/conf/nginx.conf 配置文件,容器内的 nginx 服务会应用这些修改后的配置。

window:

docker run -d -p 8090:90  -p 80:80 -p 443:443 --name nginx178 -v D:\docker-volume\nginx\www:/usr/share/nginx/www -v D:\docker-volume\nginx\html:/usr/share/nginx/html -v D:\docker-volume\nginx\conf\nginx.conf:/etc/nginx/nginx.conf -v D:\docker-volume\nginx\logs:/var/log/nginx --privileged=true nginx:1.17.8

启动成功 使用80 端口会出现 nginx-403 原因 宿主机的挂载文件html 没有拷贝 index.html ,使用 8090 会出现 该网页无法正常运作 原因是 nginx.conf没有配置8090
在这里插入图片描述

这段 Docker 命令的注意的是: /usr/share/nginx/www/ 这个在 ngin.conf 是容器内部的绝对位置 而不是宿主机的绝对位置

如果容器内没有 /usr/share/nginx/www 目录,而宿主机上有 /root/nginx/www 目录,执行这个 -v /root/nginx/www:/usr/share/nginx/www 挂载操作通常不会有问题。

当执行挂载时,如果容器内的目标路径不存在,Docker 会自动创建该目录,并将宿主机目录中的内容映射到新创建的容器目录中。

例如,如果您后续在宿主机的 /root/nginx/www 目录中添加或修改文件,这些更改将在容器内的 /usr/share/nginx/www 目录中可见。

1.6、 离线包

docker save -o [保存文件全路径] [镜像名称]:[镜像版本]

 docker save -o /Users/Aion/mysql-8.0.31.tar mysql:8.0.31
 docker save -o F:\document\p\mysql-8.0.31.tar mysql:8.0.31  // 将 包 保存到  F:\document\p\mysql-8.0.31.tar
docker save -o  D:\DockerImage\nginx.tar nginx:1.17.8

docker load 加载命令

   docker load -i F:\document\p\mysql-8.0.31.tar
   docker run -p 3306:3306 --name some-mysql -e MYSQL_ROOT_PASSWORD=your_password mysql:8.0.31

centos-nginx

nginx 服务没有安装。您可以通过包管理器(如 yum )来安装 nginx 。
对于 CentOS 系统,使用以下命令安装:

sudo yum install nginx

Nginx默认目录
输入命令:

whereis nginx
nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz /usr/share/man/man3/nginx.3pm.gz

whereis nginx 命令用于查找指定命令(在本例中是 nginx )的相关文件路径。

输出的信息解释如下:

  • /usr/sbin/nginx :这通常是 nginx 二进制可执行文件的位置。
  • /usr/lib64/nginx :可能存放与 nginx 相关的库文件。
  • /etc/nginx :是 nginx 配置文件的存放目录。
  • /usr/share/nginx :可能包含 nginx 的共享数据,例如默认的网页文件等。
  • /usr/share/man/man8/nginx.8.gz/usr/share/man/man3/nginx.3pm.gz :是 nginx 的手册页文件。

例如,如果您想要修改 nginx 的配置,您就需要到 /etc/nginx 目录中操作相关的配置文件nginx.conf
在这里插入图片描述

在 CentOS 系统中,使用 sudo yum install nginx 安装完 Nginx 后,可以通过以下命令启动 Nginx 服务:
sudo systemctl start nginx

sudo systemctl start nginx

如果您想让 Nginx 服务在系统启动时自动启动,可以使用以下命令:

sudo systemctl enable nginx

要检查 Nginx 服务的状态,可以使用:
systemctl status nginx

systemctl status nginx

要停止 Nginx 服务,可以使用:
sudo systemctl stop nginx

sudo systemctl stop nginx

要删除 Nginx 服务,可以使用:
sudo yum remove nginx

sudo yum remove nginx

nginx.conf 文件: https://wwat.lanzoul.com/i9nLx27qy2cj

emqx 部署

minio 、 redis 、 emqx 、 mysql 和 jar(tomcat) 部署

emqx 部署: emqx 部署

还没有来得及就写 有问题私聊留言

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。

拉取nginx镜像并进行配置,你可以按照以下步骤进行操作: 1. 使用命令`docker pull nginx`来拉取官方的nginx镜像。 2. 使用命令`docker run --name nginx -p 80:80 -d nginx`来生成一个名为`nginx`的容器,并将宿主机的80端口映射到容器的80端口上。 3. 进入容器内部并修改配置文件。你可以使用命令`docker exec -it nginx /bin/bash`进入容器内部的bash shell。然后,你可以编辑`/etc/nginx/nginx.conf`文件以进行配置。你可以根据需要修改虚拟主机的配置、添加代理规则或者修改缓存设置等等。 4. 在完成配置后,你可以使用命令`docker restart nginx`重新启动容器,使配置生效。 这样,你就可以拉取nginx镜像并进行配置了。请注意,以上步骤仅提供了一个基本的配置示例,具体的配置需求可能会因实际情况而有所不同。你可以根据自己的需求进行相应的配置修改。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker部署nginx](https://download.csdn.net/download/weixin_38752897/14037803)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [CentOS7下使用docker安装nginx](https://blog.csdn.net/magic_1024/article/details/103444103)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [docker-Nginx镜像拉取配置](https://blog.csdn.net/m0_55649935/article/details/132057159)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值