当前位置: 首页 > news >正文

centos docker ngnix

在CentOS上使用Docker来运行Nginx是一个常见的做法,因为它提供了快速、一致的环境配置方式,并且可以很容易地扩展。下面是如何通过Docker来运行Nginx的步骤:

1. 安装Docker

首先,确保你的CentOS系统上已经安装了Docker。如果还没有安装,你可以通过以下命令来安装Docker:

 
 

sudo yum install -y yum-utils

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install -y docker-ce docker-ce-cli containerd.io

centos 8

注如果安装报如下错误:

Error:
 Problem 1: problem with installed package podman-1.0.5-1.gitf604175.module_el8.0.0+194+ac560166.x86_64
  - package podman-1.0.5-1.gitf604175.module_el8.0.0+194+ac560166.x86_64 requires runc, but none of the providers can be installed
  - package podman-2.2.1-7.module_el8.3.0+699+d61d9c41.x86_64 requires runc >= 1.0.0-57, but none of the providers can be installed
  - package containerd.io-1.4.6-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+91b614e7.x86_64
  - package containerd.io-1.4.6-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+91b614e7.x86_64
  - package containerd.io-1.4.6-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-70.rc92.module_el8.3.0+699+d61d9c41.x86_64
  - package containerd.io-1.4.6-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-70.rc92.module_el8.3.0+699+d61d9c41.x86_64
  - cannot install the best candidate for the job
  - package runc-1.0.0-56.rc5.dev.git2abd837.module_el8.3.0+569+1bada2e4.x86_64 is filtered out by modular filtering
  - package runc-1.0.0-64.rc10.module_el8.3.0+479+69e2ae26.x86_64 is filtered out by modular filtering
 Problem 2: problem with installed package buildah-1.5-3.gite94b4f9.module_el8.0.0+58+91b614e7.x86_64
  - package buildah-1.5-3.gite94b4f9.module_el8.0.0+58+91b614e7.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed
  - package buildah-1.16.7-4.module_el8.3.0+699+d61d9c41.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed
  - package docker-ce-3:20.10.6-3.el8.x86_64 requires containerd.io >= 1.4.1, but none of the providers can be installed
  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-70.rc92.module_el8.3.0+699+d61d9c41.x86_64
  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-70.rc92.module_el8.3.0+699+d61d9c41.x86_64
  - package containerd.io-1.4.3-3.2.el8.x86_64 conflicts with runc provided by runc-1.0.0-70.rc92.module_el8.3.0+699+d61d9c41.x86_64
  - package containerd.io-1.4.3-3.2.el8.x86_64 obsoletes runc provided by runc-1.0.0-70.rc92.module_el8.3.0+699+d61d9c41.x86_64
  - package containerd.io-1.4.4-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-70.rc92.module_el8.3.0+699+d61d9c41.x86_64
  - package containerd.io-1.4.4-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-70.rc92.module_el8.3.0+699+d61d9c41.x86_64
  - package containerd.io-1.4.6-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-70.rc92.module_el8.3.0+699+d61d9c41.x86_64
  - package containerd.io-1.4.6-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-70.rc92.module_el8.3.0+699+d61d9c41.x86_64
  - cannot install the best candidate for the job
  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+91b614e7.x86_64
  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+91b614e7.x86_64
  - package containerd.io-1.4.3-3.2.el8.x86_64 conflicts with runc provided by runc-1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+91b614e7.x86_64
  - package containerd.io-1.4.3-3.2.el8.x86_64 obsoletes runc provided by runc-1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+91b614e7.x86_64
  - package containerd.io-1.4.4-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+91b614e7.x86_64
  - package containerd.io-1.4.4-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+91b614e7.x86_64
  - package containerd.io-1.4.6-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+91b614e7.x86_64
  - package containerd.io-1.4.6-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+91b614e7.x86_64
  - package runc-1.0.0-56.rc5.dev.git2abd837.module_el8.3.0+569+1bada2e4.x86_64 is filtered out by modular filtering
  - package runc-1.0.0-64.rc10.module_el8.3.0+479+69e2ae26.x86_64 is filtered out by modular filtering
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

需要执行如下命令, 再重新执行安装命令

sudo yum erase podman buildah

sudo systemctl start docker

sudo systemctl enable docker

2. 运行Nginx容器

安装完Docker后,你可以通过以下命令来运行一个Nginx容器:

 
docker pull nginx

如果报错

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<EOF

{

  "registry-mirrors": [

    "https://docker.m.daocloud.io",

    "https://hub-mirror.c.163.com",

    "https://mirror.ccs.tencentyun.com",

    "https://noohub.ru"

  ]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

vim /etc/docker/daemon.json

2.重启docker服务

重启进程

sudo systemctl daemon-reload

重启服务

sudo systemctl restart docker

然后再拉取,就成功了!

docker pull hub-mirror.c.163.com/library/nginx:latest

docker run -itd --name nginx -p 8088:80 nginx:latest

docker run --name my-nginx -p 8080:80 -d nginx

docker run --name my-nginx -p 8088:80 -d nginx

这个命令做了几件事:

  • --name my-nginx:给容器命名为my-nginx

  • -p 8080:80:将容器的80端口映射到宿主机的8080端口。这样,你可以通过访问宿主机的8080端口来访问Nginx。

  • -d:以后台模式运行容器。

  • nginx:使用官方的Nginx镜像。

3. 验证Nginx是否运行

你可以通过访问宿主机的8080端口来验证Nginx是否正常运行:

 
 

curl http://localhost:8080

你应该会看到Nginx的默认欢迎页面。

4. 自定义Nginx配置

如果你需要自定义Nginx的配置,你可以创建一个自定义的nginx.conf文件,并将其挂载到容器中。例如:

 
 

mkdir /path/to/nginx-conf

echo 'server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } }' > /path/to/nginx-conf/nginx.conf

docker run --name my-nginx -p 8080:80 -v /path/to/nginx-conf:/etc/nginx/conf.d -d nginx

这里,-v /path/to/nginx-conf:/etc/nginx/conf.d将宿主机的/path/to/nginx-conf目录挂载到容器的/etc/nginx/conf.d目录,这样容器就会使用这个目录下的nginx.conf文件作为其配置文件。

5. 管理Nginx容器

一旦你的Nginx容器运行起来,你可以使用以下命令来管理它:

  • 停止容器:docker stop my-nginx

  • 启动容器:docker start my-nginx

  • 重启容器:docker restart my-nginx

  • 查看容器日志:docker logs my-nginx

通过这些步骤,你可以在CentOS上使用Docker轻松地运行和管理Nginx。

http://www.dtcms.com/a/19119.html

相关文章:

  • JavaScript内置对象
  • 在IDEA中误操作Git Rollback后的恢复方法
  • word分栏使得最后一页内容自动平衡
  • 【计算机网络】数据链路层数据帧(Frame)格式
  • Colmap 的安装与使用
  • 极狐GitLab 17.8 正式发布,多项 DevOps 重点功能解读【二】
  • 11-跳跃游戏
  • UE_C++ —— Unreal Smart Pointer Library
  • typescript快速入门之安装与运行
  • C++入门之《拷贝构造函数》详解
  • 专为Apple Silicon优化的开源机器学习框架:MLX (Machine Learning eXtension)
  • 【C++指南】解锁C++ STL:从入门到进阶的技术之旅
  • 国产编辑器EverEdit - 二进制模式下观察Window/Linux/MacOs换行符差异
  • 高项第六章——项目管理概论
  • 字节二面:DNS是什么?是什么原理?
  • flowable学习
  • 老游戏回顾:GOWpsp
  • 第33课 绘制原理图——放置文本框
  • CAS单点登录(第7版)22.中断通知
  • ES6模块化和CommonJs模块化区别
  • hive高频写入小数据,导致hdfs小文件过多,出现查询效率很低的情况
  • Deesek:新一代数据处理与分析框架实战指南
  • ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
  • Banana Pi OpenWRT One 官方路由器的第一印象
  • Springboot中使用Elasticsearch(部署+使用+讲解 最完整)
  • 【鸿蒙HarmonyOS Next实战开发】lottie动画库
  • SQLServer联合winform 制作一个简单注册登录系统
  • sap服务器调用DeepSeek参数文件方法
  • MATLAB图像处理:图像特征概念及提取方法HOG、SIFT
  • 124. 二叉树中的最大路径和