一、卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
二、安装docker
1. 安装依赖
yum install -y yum-utils
可能会报错Failed to set locale, defaulting to C.UTF-8,分别执行以下两条命令
echo "export LC_ALL=en_US.UTF8" >> /etc/profile
source /etc/profile
2. 设置镜像库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. 清空缓存
yum makecache fast
4. 安装 docker 相关源
ce 是社区版 ,ee 是企业版
yum install docker-ce docker-ce-cli containerd.io
三、启动
1. 设置开机自启
systemctl enable docker.service
2. 启动
systemctl start docker
3. 查看版本
docker version
4. 查看已有镜像
docker images
四、nginx
1. 安装
docker pull nginx:1.20.1
2. 启动
docker run --name nginx -d -p 80:80 nginx:1.20.1
- docker run 基本运行命令
- –name nginx 为容器取名为 nginx
- -d 以后台运行的方式启动容器
- -p 80:80 把宿主机的 80 端口映射到 nginx 容器的 80 端口
- nginx:1.20.1 镜像及其版本号,只有一个版本时可以不加版本号
五、部署前端
1. 上传部署
将前端编译打包后发到服务器的/home/nginx目录(自己定),然后解压
执行下面命令将宿主机目录映射到nginx容器
docker run --name myNginx -p 80:80 -v /home/nginx/dist:/usr/share/nginx/html -d nginx:1.20.1
2. 同步容器
docker cp 容器id:/etc/nginx /home/etc
容器id可以通过dockers stats查看
3. 使用宿主机同步的nginx
docker run --name myNginx -p 80:80 -v /home/nginx/dist:/usr/share/nginx/html -v /home/etc/nginx:/etc/nginx -d 镜像的id或者名字
五、常用命令
systemctl start docker # 启动 Docker 服务
docker version # 查看 Docker 版本
docker [command] --help # 查询帮助指令
docker version # 版本信息
docker info # 显示 docker 的系统信息,包括镜像和容器数量
docker images # 查询容器中的镜像
docker images -a # 查询所有容器
docker images -q # 只查询 id
docker search [name] # 搜索Docker Hub中指定名称镜像
docker pull [name] # 下载指定名称的镜像,不指定版本默认下载最新版
docker pull [name][:tag] # 下载指定的版本,例如:mysql:5.7
docker rm -f [容器id] # 删除指定id的容器
docker rmi -f [镜像id] # 删除指定id的镜像
docker rmi -f [镜像id] [镜像id] [镜像id] ... # 删除指定的多个镜像
docker rmi -f $(docker images -aq) # 删除所有镜像,$()传入命令
docker run [参数] [镜像名称|镜像id] # 启动镜像,启动命令有很多附带参数
-d # 以后台运行方式启动
-it # 以交互式的方式进入容器
-p # 指定端口映射 -p 8080:80 表示访问宿主机的 8080 端口,相当于访问 docker 镜像的 80 端口
-e # 指定环境配置,如:-e MYSQL_ROOT_PASSWORD=root 将 mysql 的 root 用户密码设置为 root,配置项一般结合 docker hub 中的文档进行配置
-v # 指定同步文件夹,如 -v /home/html:/usr/share/nginx/html/ 将 宿主机的 /home/html 文件夹与容器内的 /user/share/nginx/html 进行同步
docker ps # 查看正在运行的容器
docker ps -a # 查看所有运行过的容器
docker exec -it [容器id] /bin/bash # 进入容器
ctrl + p + q # 快捷键离开容器并且不关闭容器,注意按键顺序,一定是从左到右
# 进入容器后直接指向 exit 会结束容器运行
docker start [容器id] # 启动指定容器
docker restart [容器id] # 重启容器
docker stop [容器id] # 停止容器
docker kill [容器id] # 强制停止容器
docker logs -f --tail N [容器id] # 查看某个容器的日志信息,显示最新的 N 条
docker top [容器id] # 查看容器中的进程信息
docker inspect [容器id] # 查看容器的元数据
docker cp [容器id]:[容器文件路径] [宿主机路径] # 将容器中的文件复制出来