nginx
-
下载最新版本的nginx,这里所有的要用到的镜像都已经下载过,所以我拉取镜像的界面如下。
docker pull nginx
-
检查docker下载的镜像
-
在服务器上创建挂载目录,主要有三个目录,一个放配置文件,一个放日志,一个放需要部署的页面,尽量都挂载到/opt/docker/文件夹下
-
新建一个文件夹
-
在新建的文件夹中创建三个文件夹
-
-
生成容器
docker run --name nginx_test -p 9001:80 -d nginx
- nginx_test:容器的名字,随便取,不过不能重名
- nginx:镜像名字,也就是刚才拉取的镜像
- 9001:宿主机需要暴露的端口
- 80:容器中nginx的端口,默认都是80
- 也就是将容器的80端口映射到宿主机的9001端口
-
将容器nginx.conf文件复制到宿主机
docker cp nginx_test:/etc/nginx/nginx.conf /opt/docker/nginx_test/conf/nginx.conf
- /etc/nginx是容器的目录
- /opt/docker/nginx_test/conf是宿主机的目录
- 也就是将容器/etc/nginx中的nginx.conf文件你复制到宿主机的/opt/docker/nginx_test/conf/目录下
-
将容器conf.d文件夹下内容复制到宿主机
docker cp nginx_test:/etc/nginx/conf.d /opt/docker/nginx_test/conf/conf.d
-
将容器中的html文件夹复制到宿主机
docker cp nginx_test:/usr/share/nginx/html /opt/docker/nginx_test/
-
上几步运行结果
-
创建容器
-
找到nginx对应的容器id
docker ps -a
-
关闭该容器
docker stop f78b22525ab9(或用容器名nginx_test也可)
-
删除该容器
之所以删除是因为刚才创建容器只是为了复制其中的文件,但是还没完成挂载,现在文件拿到了,就可以真正创建并挂载nginx容器了
docker rm f78b22525ab9(或用容器名nginx_test也可)
-
-
创建容器(完整版)
docker run \ -p 81:80 \ --name nginx_test \ -v /opt/docker/nginx_test/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /opt/docker/nginx_test/conf/conf.d:/etc/nginx/conf.d \ -v /opt/docker/nginx_test/log:/var/log/nginx \ -v /opt/docker/nginx_test/html:/usr/share/nginx/html \ -d nginx:latest
命令 | 描述 |
---|---|
–name nginx | 启动容器的名字 |
-d | 后台运行 |
-p 81:80 | 将容器的 80(后面那个) 端口映射到主机的 81(前面那个) 端口 |
-v /opt/docker/nginx_test/conf/nginx.conf:/etc/nginx/nginx.conf | 挂载nginx.conf配置文件 |
-v /opt/docker/nginx_test/conf/conf.d:/etc/nginx/conf.d | 挂载nginx配置文件 |
-v /opt/docker/nginx_test/log:/var/log/nginx | 挂载nginx日志文件 |
-v /opt/docker/nginx_test/html:/usr/share/nginx/html | 挂载nginx内容 |
nginx:latest | 本地运行的版本 |
\ | shell 命令换行 |
-
成功结果验证