拉取docker镜像,此处指定1.22版本(不指定版本docker pull nginx即可)
docker pull nginx:1.22
查看nginx镜像
docker images nginx
创建挂载目录
mkdir -p /usr/local/docker/nginx/conf
mkdir -p /usr/local/docker/nginx/log
mkdir -p /usr/local/docker/nginx/html
运行nginx容器,并将容器里的文件复制到宿主机对应的文件夹
# 生成容器
docker run --name nginx -p 80:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /usr/local/docker/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /usr/local/docker/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /usr/local/docker/nginx/
关闭该容器
docker stop nginx
启动容器时挂载多个端口,使用外部配置文件
docker run \
-p 80:80 \
-p 8080:8080 \
-p 8081:8081 \
-p 8082:8082 \
--name nginx \
--restart=always \
-v /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/docker/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /usr/local/docker/nginx/log:/var/log/nginx \
-v /usr/local/docker/nginx/html:/usr/share/nginx/html \
-d nginx:1.22
重载nginx
docker exec nginx nginx -s reload
进入容器内部
docker exec -it nginx bash
重启该容器
docker restart nginx
删除该容器
docker rm nginx
删除正在运行的nginx容器
docker rm -f nginx