Docker安装nginx服务器

本文介绍了如何在CentOS-7系统上安装Docker CE,并详细阐述了如何拉取与使用Nginx官方镜像。通过`docker pull`命令获取Nginx镜像,然后使用`docker run`命令启动容器,配置端口映射。此外,还讲解了如何管理容器,包括查看、停止、启动和删除容器。最后,展示了如何将Nginx配置文件挂载到宿主机,以及如何重新运行容器并访问Nginx服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux系统:CentOS-7-x86_64-DVD-1708.iso

Docker版本:Docker CE

一、CentOS-7 安装 docker

Docker学习(一)Docker的安装_程序搬砖员的博客-优快云博客

二、拉取 nginx 镜像

1、进入到DockerHub:Docker Hub,搜索nginx,如下,选中官方版本 

很多的其他参数需要在 Docker Hub 中进行查询,如果只是一些基本的安装nginx,可以不用去看这个官网。

2、拉取 ngxin 的镜像,如果不加上版本,就是最新版本

docker pull nginx:1.21.6
#删除镜像
docker rmi nginx:1.21.6

#查询镜像
docker images nginx

#保存镜像
docker save -o nginx.tar nginx:1.21.6

#加载本地镜像,就是导入保存了的镜像
docker load -i nginx.tar

如果想要知道 docker rmi 的具体参数,可以使用帮助文档,命令是:docker rmi --help,具体操作:Docker学习(二)Docker的基本操作_程序搬砖员的博客-优快云博客

其他命令的具有什么参数,也可以通过 --help进行查询。

三、启动 nginx 容器

1、运行容器,并且配置映射端口

docker run \
--name nginx \
-d \
-p 80:80 \
nginx:1.21.6

命令解读:

docker run :创建并运行一个容器

--name : 给容器起一个名字,比如叫做 nginx

-d:后台运行容器

-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口

nginx:1.21.6:镜像名称

”\“ 的意思是:告诉系统,这个命令还没有结束,需要继续往下面读,这么写是为了提高可读性。

其他一些的容器命令,其中 nginx 是容器名称,不是镜像名称

# 查询默认的容器,就是运行正常的容器
docker ps
 
# 查询所有的容器,更多的参数,可以根据 docker ps --help 查询帮助文档
docker ps -a

#查询容器日志,不要 -f 就是静态日子,加上是动态日志
docker logs -f nginx

#进入容器
docker exec -it nginx bash

#退出容器
exit

#停止容器
docker stop nginx

#启动容器
docker start nginx

2、在home文件夹下面创建文件夹

mkdir -p ../home/nginx/conf

mkdir -p ../home/nginx/conf.d/
mkdir -p ../home/nginx/html/

3、拷贝 nginx 的一些配置文件,nginx是容器名称,也可以用容器id代替

docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf
docker cp nginx:/etc/nginx/conf.d /home/nginx
docker cp nginx:/usr/share/nginx/html/ /home/nginx

4、删除nginx容器 

# 删除容器,容器必须停止才可以删除
docker rm nginx

#容器还在运行时,强制删除容器
docker rm -f nginx

5、重新运行容器

docker run \
--name nginx \
--restart always \
--privileged=true \
-d \
-p 80:80 \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/html:/usr/share/nginx/html \
-v /home/nginx/conf.d:/etc/nginx/conf.d  \
-v /home/nginx/logs:/var/log/nginx \
nginx:1.21.6

命令解读:

docker run :创建并运行一个容器

--name : 给容器起一个名字,比如叫做 nginx

--restart always:重启 docker 时,自动启动相关容器

--privileged=true :获取root权限

-d:后台运行容器

-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口

-v :数据挂载,是一些文件、文件夹映射到宿主机上面,这里使用的宿主机文件挂载,而不是数据卷挂载。

nginx:镜像名称,例如 nginx:1.21.6

”\“ 的意思是:告诉系统,这个命令还没有结束,需要继续往下面读,这么写是为了提高可读性。

如果不想做端口映射,那么可以把【-p 80:80】换成 【--net host】,以后服务是什么端口,就直接通过端口访问。比如nginx的是80,mysql是3306,直接通过宿主机访问80、3306就可以了 。

命令:

docker run \
--name nginx \
--restart always \
--privileged=true \
-d \
--net host \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/html:/usr/share/nginx/html \
-v /home/nginx/conf.d:/etc/nginx/conf.d  \
-v /home/nginx/logs:/var/log/nginx \
nginx:1.21.6

6、访问nginx 

如果访问不了,看看防火墙开没开,打开防火墙命令参考:

Docker学习(一)Docker的安装_程序搬砖员的博客-优快云博客

7、使用nginx进行配置,配置成功后,需要重启容器。

1、在 /home/nginx/conf.d 文件里面的 default.conf 添加配置

这个红框是添加进去的 

2、/home/nginx/html 文件里面添加其他文件信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值