1.安装docker
yum install docker
2.启动/停止/重启docker服务
systemctl docker start
systemctl docker stop
systemctl docker restart
#开机自启动
systemctl enable docker
3.查看docker 版本
docker version
4.拉取nginx包
docker pull nginx
5.查看下载好的镜像文件
docker images
6.先生成容器
docker run -d --name nginx-lpp -p 6688:80 nginx
命令详解:
# docker run 启动一个镜像
# -d 表示后台允许
# --name nginx-lpp 表示为当前容器起一个别名
# -p 6688:80 表示将本机的6688端口映射到nginx镜像的80端口
7.查看正在运行的容器
docker ps
8.查看Nginx是否部署成功
curl localhost:6688
9.进入nginx中
docker exec -it nginx-lpp /bin/bash
命令详解:
# docker exec 在运行的容器中执行命令
# -i 以交互模式运行容器,通常与 -t 同时使用;例如-it
# -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;例如-it
# nginx 容器名
# /bin/bash 其实就是表示载入容器后运行bash(命令语言解释程序), 因为docker中必须要保持一个进程(运行的程序)的运行,要不然整个容器就会退出,所以说,bash就担任起了docker中运行的那个进程的角色!
#而/bin/bash则是bash在linux下的位置
10.在容器中查询出nginx的相关配置文件存放位置
whereis nginx
11.退出容器,回到本地linux系统
exit
12.本地创建管理目录
mkdir -p /home/nginx
mkdir -p /home/nginx/html
mkdir -p /home/nginx/conf
mkdir -p /home/nginx/ogs
13.将容器中的相应文件copy到刚创建的管理目录中
# 将容器nginx.conf文件复制到宿主机
docker cp nginx-lpp:/etc/nginx/nginx.conf /home/nginx/conf/
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx-lpp:/etc/nginx/conf.d /home/nginx/conf/
# 将容器html文件夹下内容复制到宿主机
docker cp nginx-lpp:/usr/share/nginx/html/ /home/nginx/
# 将容器日志文件夹下内容复制到宿主机
docker cp nginx-lpp:/var/log/nginx/ /home/nginx/logs
注:docker cp e504dcfc8a09中的 "e504dcfc8a09" 为容器ID(docker ps可查看),也可换成容器名,例如上面容器名是nginx,可写成 docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/ ,但是要区分唯一性
14.停止并移除Nginx容器
docker stop e504dcfc8a09 #停止容器,容器id可不用写全,只要写到能识别到唯一一条就可以
docker rm e504dcfc8a09 #移除容器
# e504dcfc8a09表示容器的ID,即:CONTAINER ID
15.重新生成容器
docker run \
-p 6688:80 \
--name nginx-lpp \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/logs:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx:latest
16.修改nginx后重新加载
docker exec e504dcfc8a09 nginx -s reload