1、下载及查看镜像
[root@localhost ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete
a9edb18cadd1: Pull complete
589b7251471a: Pull complete
186b1aaa4aa6: Pull complete
b4df32aa5a72: Pull complete
a0bcbecc962e: Pull complete
Digest:[root@localhost ~]# docker run --name nginxtest -p 80:80 -d nginx
2f18abf38e84674d0b75a7c1f7f18500682f334b98aef524cb99472101c41f01
sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 2 months ago 141MB
hello-world latest feb5d9fea6a5 5 months ago 13.3kB
2、测试镜像
[root@localhost ~]# docker run --name nginxtest -p 80:80 -d nginx
2f18abf38e84674d0b75a7c1f7f18500682f334b98aef524cb99472101c41f01
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2f18abf38e84 nginx "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp nginxtest
参数说明:
- --name nginxtest:容器别名,默认为随机的。
- -p 80:80: publish发布端口,开户DNAT映射,将宿主机 80 端口映射到容器 80 端口。
- -d nginx: 后台启动容器。
3、容器部署
3.1 创建三个目录,html目录,日志目录及配置目录
[root@localhost data]# cd /usr/local/
[root@localhost local]# mkdir -p ./nginx/html
[root@localhost local]# mkdir -p ./nginx/logs
[root@localhost local]# mkdir -p ./nginx/conf
3.2 拷贝配置文件
拷贝容器内nginx默认配置文件到本地目录下的conf目录,通过docker ps命令查看容器ID
[root@localhost local]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2f18abf38e84 nginx "/docker-entrypoint.…" 5 minutes ago Up 5 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp nginxtest
[root@localhost local]# docker cp 2f18abf38e84:/etc/nginx/nginx.conf /usr/local/nginx/conf/[root@localhost conf.d]# docker cp 2f18abf38e84:/etc/nginx/conf.d/default.conf /usr/local/nginx/conf.d/
3.3 映射容器目录
先停掉之前启动的docker容器,并且删除后重新创建
[root@localhost local]# docker stop 2f18abf38e84
2f18abf38e84
[root@localhost local]# docker rm 2f18abf38e84
2f18abf38e84[root@localhost local]# docker run --name nginx -d -p 80:80 -v /usr/local/nginx/log:/var/log/nginx -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/conf.d:/etc/nginx/conf.d -v /usr/local/nginx/html:/usr/share/nginx/html nginx
052be59bd50a30eae46b96e83efc6271bbb908439bd91e54092daf4642debfb7
[root@localhost local]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
052be59bd50a nginx "/docker-entrypoint.…" 4 seconds ago Up 3 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp nginx
[root@localhost local]#
页面出现403的时候,在宿机的html文件夹下需要放入index.html文件