目录
- 安装
- 启动服务
- 拉取镜像
- 删除镜像
- 镜像自定义版本号(重命名)
- 镜像打包
- 镜像加载
- 启动镜像
- 查询命令
- 删除容器
- 容器交互
- 容器持久化
安装
yum install docker
# 验证是否安装成功
docker -v
启动服务
service docker start
拉取镜像
拉取镜像前,先配置镜像源
科大镜像:https://docker.mirrors.ustc.edu.cn/
网易:https://hub-mirror.c.163.com/
阿里云:https://<你的ID>.mirror.aliyuncs.com
vim /etc/docker/daemon.json
# 输入下面内容
{
"registry-mirrors":[
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
# 重启服务
systemctl daemon-reload
systemctl restart docker
# 检查是否生效
docker info
需要什么镜像就去docker hub官网搜,然后复制拉取命令
删除镜像
docker rmi <REPOSITORY>:<tag>
镜像自定义版本号(重命名)
docker tag <REPOSITORY>:<tag> <NEW_REPOSITORY>:<NEW_tag>
镜像打包
docker save <REPOSITORY> > <NEW_NAME>.tar
镜像加载
加载用docker save 打包的镜像
docker load < <tar包>
启动镜像
docker run --name <new_name> -d -p <映射端口>:<镜像端口> <REPOSITORY>:<tag>
# 例
docker run --name myjenkins2 -d -p 8081:8080 127.0.0.1:8080/jenkins:2.6
# -d 表示后台运行 --name 就是指定运行的容器名 -p 就是映射端口,不然我们无法访问的
# 容器运⾏命令的⼀些参数
1. --name 指定容器名称
2. -d 后台运⾏
3. -port 指定端⼝映射规则
4. --network 指定容器运⾏的⽹路模式
5. -v 指定需要挂载的数据卷
6. -env 指定需要传递给容器的环境变量
查询命令
# 查看正在运行的容器
docker ps
# 增加显示占空间大小 -s
docker ps -s
# 查看最近创建的容器
docker ps -l
# 查看最新创建的x个容器
docker ps -n=x
# 查看当前所有容器
docker ps -s -a
# 查看容器运行日志
docker logs -f <容器名>
# 查看docker服务的信息
docker info
# 查看容器的元数据
docker inspect <容器名>
删除容器
# 停止容器
docker stop <容器名>
# 删除容器
docker rm -f <容器名>
容器交互
docker exec -it <容器名> bash/sh
# 容器排查
docker inspect myjenkins
# 从容器内拷贝文件
docker cp <容器名>:<文件路径> <宿主机路径>
# 从宿主机内拷贝到容器内
docker cp <宿主机文件路径> <容器名>:<容器路径>
容器持久化
# 宿主机目录挂载到容器内
# 也就是把宿主机内的文件存储到宿主机内
# 容器内会自动创建不存在挂载目录
docker run --name <新容器名> -d -p <映射端口>:<镜像端口> -v <宿主机目录路径>:<容器目录路径> <REPOSITORY>:<tag>
docker run --name myjenkins -d -p 8081:8080 -v /root/dockerdir:/dockerhome 127.0.0.1:8080/jenkins:2.6