本文主要讲述docker如何去安装nginx
docker官网地址
命令 | 描述 |
---|---|
docker pull nginx | 下载最新版Nginx镜像 |
docker pull nginx:xxx | 下载指令版本Nginx镜像 |
# 创建挂载目录
mkdir -p /home/nginx/conf
mkdir -p /home/nginx/log
mkdir -p /home/nginx/html
# 生成容器
docker run --name nginx -p 80: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/
注意:我们上面已经运行了一个nginx容器,首先要进行删除
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx
创建新容器并运行:
- 若要配置nginx访问宿主机的其它目录,则要进行相对应的映射,因为nginx在容器内默认访问的是容器里面的目录
如:nginx要访问宿主机的mnt目录,则要将容器的mnt映射到宿主机 -v /mnt:/mnt \,前面是宿主机目录:后面是容器
- 多个端口:也要进行映射,因为都是访问的容器,而不是宿主机
-p 80:80 \
-p 8001:8001 \
** 注意:以上注意配置一定是在run运行容器的时候加上,不然就得删除容器重新运行配置
** 进入容器的命令:docker exec -it nginx bash
docker run \
-p 80:80 \
--name nginx \
-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:latest
命令 | 描述 |
---|---|
–name nginx | 启动容器的名字 |
-d | 后台运行 |
-p 80:80 | 将容器的 80(后面那个) 端口映射到主机的 80(前面那个) 端口 |
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf | 挂载nginx.conf配置文件 |
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d | 挂载nginx配置文件 |
-v /home/nginx/log:/var/log/nginx | 挂载nginx日志文件 |
-v /home/nginx/html:/usr/share/nginx/html | 挂载nginx内容 |
nginx:latest | 本地运行的版本 |
\ | shell 命令换行 |
单行命令
docker run -p 80:80 --name nginx -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:latest
后期修改nginx文件,要重启命令:
docker restart nginx