docker-运行nginx服务

docker-运行nginx服务

 

cat /etc/os-release

 

docker -v

 

.a.直接拉取失败

 

.b.设置腾讯云的镜像地址

CentOS 7/Ubuntu 22.04:

编辑 /etc/docker/daemon.json 文件:

sudo vim /etc/docker/daemon.json

 

添加以下内容(https://mirror.ccs.tencentyun.com为腾讯云内网镜像加速地址):

{

   "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]

}

 

 

CentOS 6/Debian等:

编辑 /etc/default/docker 文件:

sudo vim /etc/default/docker

 

添加以下内容:

DOCKER_OPTS="--registry-mirror=https://mirror.ccs.tencentyun.com"

 

.c.重启Docker服务

执行以下命令使配置生效:

sudo systemctl restart docker

 

验证配置

检查是否生效:

sudo docker info | grep "Registry Mirrors"

若返回包含 https://mirror.ccs.tencentyun.com 的地址,则表示配置成功。

 

注意事项:

https://mirror.ccs.tencentyun.com 仅支持腾讯云内网访问,不支持外网域名加速。

 

.d.再次拉取nginx镜像。

 

查看镜像 docker images

 

.e.测试服务是否可正常启动,没报错,说明启动成功。

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

 

停止服务

 

.f.拉取制定版本的nginx服务器。

docker pull nginx:1.24.0

 

.g.使用挂载指令启动nginx服务器

docker run --name nginx  -p 443:80 \

-v /opt/u01/exam/nginx/html:/usr/share/nginx/html   \

-v /opt/u01/exam/nginx/log:/var/log/nginx  \

-v /opt/u01/exam/nginx/nginx.conf:/etc/nginx/nginx.conf  \

-d 6c0218f16876

命令解释:

docker run 表示启动docker 容器

--name nginx 表示给容器起一个名称

-p 8080:8080 表示将宿主机的443端口映射到nginx容器中的80端口中

-v /opt/u01/exam/nginx/html:/usr/share/nginx/html 将宿主机上的静态文件目录,挂载到nginx容器中的静态目录中

-v /opt/u01/exam/nginx/log:/var/log/nginx  将宿主机上的日志目录,挂载到nginx容器中的日志目录中

-v /opt/u01/exam/nginx/nginx.conf:/etc/nginx/nginx.conf 将宿主机上的nginx.conf配置文件,挂载到nginx容器的配置文件上

-d 6c0218f16876 表示以指定镜像ID启动nginx容器,因为自己使用的nginx版本为1.24.0,不是最新版本,因此需要添加该行命令,

并且需要添加到最后面。

\ 表示指令换行,一行指令太长的时候,就可以换行。

文件/目录挂载的目的:让容器中的nginx运行时,使用宿主机上的配置文件和静态文件,并且将日志打印到宿主机上自定义的目录中。

 

.h.删除上面启动的nginx服务,重新启动服务器,重新使用挂载服务。

 

docker run --name nginx  -p 8080:8080 \

-v /opt/u01/exam/nginx/html:/usr/share/nginx/html   \

-v /opt/u01/exam/nginx/log:/var/log/nginx  \

-v /opt/u01/exam/nginx/nginx.conf:/etc/nginx/nginx.conf  \

-d 6c0218f16876

 

一定注意:容器内的nginx服务器使用的是自定义的端口,因此在将端口写为 8080:8080

表示将服务器上的8080端口映射到nginx容器内的8080端口上

 

.i.服务启动好之后,使用命令 curl localhost:8080 测试是否可以正常访问。

出现下面的界面,表示访问成功。

 

 

posted @ 2025-05-06 21:33  一只爱阅读的程序员  阅读(91)  评论(0)    收藏  举报