文章目录
前言
- 本文总结docker的安装以及常用命令
- 由于使用Docker Dockerfile定制容器比较复杂,大多数人用不着,故本文不做介绍,感兴趣的小伙伴请查阅《菜鸟教程》
- docker的基本使用流程:安装docker环境→拉取镜像→从镜像创建容器→进入容器
一、安装(CentOS7/8)
方法1:使用脚本安装
1、官方脚本:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
2、国内daocloud脚本:curl -sSL https://get.daocloud.io/docker | sh
方法2:手动安装
1、卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、设置仓库
# 安装依赖
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
# 设置仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 设置国内镜像(可选)
# 阿里云
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 清华大学源
sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
3、Docker Engine-Community
安装最新版:sudo yum install docker-ce docker-ce-cli containerd.io
安装指定版本:
# 获取可用版本
yum list docker-ce --showduplicates | sort -r
# 安装指定版本
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
二、启动Docker
# 启动
sudo systemctl start docker
# 验证(测试)
sudo docker run hello-world
三、卸载Docker
# 删除软件
yum remove docker-ce
# 删除镜像、容器、配置文件等内容
rm -rf /var/lib/docker
四、常用命令
1、Docker 镜像加速
# Ubuntu16.04+、Debian8+、CentOS7
# 对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}
# 重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker
# 查询配置是否生效
docker info
镜像源:
- 科大镜像:https://docker.mirrors.ustc.edu.cn/
- 网易:https://hub-mirror.c.163.com/
- 阿里云:https://<你的ID>.mirror.aliyuncs.com
- 七牛云加速器:https://reg-mirror.qiniu.com
2、镜像使用
# 列出镜像列表
docker images
# 查找镜像
docker search <镜像名>
# 拉取镜像
docker pull <镜像名>
# 删除镜像
docker rmi <镜像名>
# 将容器保存为镜像
docker commit -m="<提交的描述信息>" -a="<指定镜像作者>" <容器 ID> <镜像标签(如:runoob/centos:dev)>
# 设置镜像标签
docker tag <镜像id> <镜像标签>
3、容器使用
# 查看所有容器
docker ps -a
# 查询最后一次创建的容器
docker ps -l
# 启动一个已停止的容器
docker start <容器 ID>
# 启动镜像
docker stop <容器 ID>
# 重启一个停止的容器
docker restart <容器 ID>
# 从镜像创建容器(-i:交互式操作;-t:终端;-d:后台运行(启动后不进入容器))
docker run -itd --name <创建的容器名> <镜像标签> /bin/bash
# 主机端口映射到容器(创建容器时增加-p参数)
-p <主机端口>:<容器端口>
# 容器创建后追加端口映射方法
查询指定容器ID的文件路径:df -h;
停止容器:docker stop <容器 ID>;
停止docker服务:systemctl stop docker;
修改容器目录下的hostconfig.json的PortBindings属性
修改容器目录下的config.V2.json的ExposedPorts属性
重启docker服务:systemctl restart docker
启动docker容器:docker start <容器 ID>
# 查询网络端口映射
docker port <容器 ID>
# 进入容器(退出后容器不停止)
docker exec <容器 ID>
# 进入容器(退出后容器停止)
docker attach <容器 ID>
# 删除容器
docker rm -f <容器 ID>
# 导出容器到文件
docker export <容器 ID> > 文件名.tar
# 导入容器快照到镜像
cat 文件名.tar | docker import - <镜像标签>