欢迎访问广西陌上网络科技有限责任公司官网 · 专注企业数字化管理软件定制开发 客服热线:黄生 15678982250

DOCKER下安装NGINX部署多站点

更新时间:2023-10-04 浏览:5898 标签:DOCKER NGINX 站点 

学习DOCKER部署NGINX步骤

问题难点,docker run 一个NGINX后,马上就是existed状态,可以查看运行容器的错误日志
docker logs 容器ID

我也是看了这里的日志里描述的错误,才知道问题在哪里,之前试过几次都是卡这里不知道错误是什么。

配置不对都会是existed,因为容器起不来,不是起来了在自动退出,因为加了-d后台运行了也不得。


1、安装DOCKER
yum install docker

#启动docker

systemctl start docker

#关闭DOCKER

systemctl stop docker

#重启DOCKER

systemctl restart docker

#查看DOCKER状态

systemctl status docker

2、从官网PULL NGINX

docker pull nginx


#查看拉取的镜像

docker images


3、开始搬砖

# 创建挂载目录

mkdir -p /home/nginx/conf

mkdir -p /home/nginx/log

mkdir -p /home/nginx/html


# 生成容器

docker run --name nginx -p 9001:80 -d nginx

# 将容器nginx.conf文件复制到宿主机

docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf

# 将容器conf.d文件夹下内容复制到宿主机

docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d

# 将容器中的html文件夹复制到宿主机

docker cp nginx:/usr/share/nginx/html /home/nginx/


# 直接执行docker rm nginx或者以容器id方式关闭容器

# 找到nginx对应的容器id

docker ps -a

# 关闭该容器

docker stop nginx

# 删除该容器

docker rm nginx


重新挂载NGINX容器

#单行模式

docker run -p 9002:80 --name nginx --privileged=true -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/log:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html -d nginx


#--privileged=true 使DOCKER中的账户具有真正ROOT权限


至此单个站点挂载成功,可以在宿主机访问http://宿主机IP:9002

修改/home/nginx/html下的index.html可看到页面随之变化。


配置多站点的情况

在站点目录下新建新建目录WEB2,新建index.html文件

mkdir /home/nginx/html/web2

cp /home/nginx/html/index.html /home/nginx/html/web2/index.html 

在配置目录下新建XX.conf,配置如下

server

{

    listen 8080;

    server_name localhsot;

    root /usr/share/nginx/html/web2;

    index index.html;

}

#新建第二个容器

docker run -p 8080:8080 --name nginx --privileged=true -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/log:/var/log/nginx -v /home/nginx/html/web2:/usr/share/nginx/html/web2 -d nginx