一、安装Docker
1、安装:
yum install docker
2、启动/停止/重启docker服务
systemctl docker start
systemctl docker stop
systemctl docker restart
#开机自启动
systemctl enable docker
#设置容器自启动
1.创建容器时设置
docker run -d --restart=always --name 设置容器名 使用的镜像
(上面命令 --name后面两个参数根据实际情况自行修改)
# Docker 容器的重启策略如下:
--restart具体参数值详细信息:
no // 默认策略,容器退出时不重启容器;
on-failure // 在容器非正常退出时(退出状态非0)才重新启动容器;
on-failure:3 // 在容器非正常退出时重启容器,最多重启3次;
always // 无论退出状态是如何,都重启容器;
unless-stopped // 在容器退出时总是重启容器,但是不考虑在 Docker 守护进程启动时就已经停止了的容器。
2.修改已有容器,使用update
#如果创建时未指定 --restart=always,可通过update 命令设置
docker update --restart=always 容器ID(或者容器名)
(容器ID或者容器名根据实际情况修改)
3、查看docker版本信息
docker version
4、查看所有docker镜像
docker images
二、安装Nginx
1、拉取Nginx镜像文件
docker pull [镜像名]:[版本号] //版本号可省略,省略会下载最新版本
例如:
docker pull nginx //下载最新的Nginx镜像
2、查看下载好的镜像文件
docker images
3、创建并运行Nginx容器
docker run -d --name nginx01 -p 8050:80 nginx
命令详解:
# docker run 启动一个镜像
# -d 表示后台允许
# --name nginx01 表示为当前容器起一个别名
# -p 8050:80 表示将本机的8050端口映射到nginx镜像的80端口
4、查看正在运行的容器
docker ps
5、查看Nginx是否部署成功
curl localhost:8050
1、进入Nginx容器当中
docker exec -it nginx /bin/bash
命令详解:
# docker exec 在运行的容器中执行命令
# -i 以交互模式运行容器,通常与 -t 同时使用;例如-it
# -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;例如-it
# nginx 容器名
# /bin/bash 其实就是表示载入容器后运行bash(命令语言解释程序), 因为docker中必须要保持一个进程(运行的程序)的运行,要不然整个容器就会退出,所以说,bash就担任起了docker中运行的那个进程的角色!
#而/bin/bash则是bash在linux下的位置
2、在容器中查询出nginx的相关配置文件存放位置
whereis nginx
3、退出容器,回到本地linux系统
exit
4、停止并移除Nginx容器
docker stop ff6fc #停止容器,容器id可不用写全,只要写到能识别到唯一一条就可以
docker rm ff6fc #移除容器
# bedfd2a72585表示容器的ID,即:CONTAINER ID
5、本地创建管理目录
mkdir -p /usr/local/nginx
mkdir -p /usr/local/nginx/html
mkdir -p /usr/local/nginx/conf
mkdir -p /usr/local/nginx/logs
6、将容器中的相应文件copy到刚创建的管理目录中
docker cp ff6fc:/etc/nginx/nginx.conf /usr/local/nginx/
docker cp ff6fc:/etc/nginx/conf.d /usr/local/nginx/conf/
docker cp ff6fc:/usr/share/nginx/html/ /usr/local/nginx/html/
docker cp ff6fc:/var/log/nginx/ /usr/local/nginx/logs/
注:docker cp ff6fc中的 "ff6fc" 为容器ID(docker ps可查看),也可换成容器名,例如上面容器名是nginx,可写成 docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/ ,但是要区分唯一性
7、再次启动容器并作目录挂载
docker run --name nginx -p 8050:80 -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/www/:/usr/share/nginx/html/ -v /usr/local/nginx/logs/:/var/log/nginx/ -v /usr/local/nginx/conf/:/etc/nginx/conf.d --privileged=true -d nginx