Docker —— 从安装到卸载
一、安装 Asbru 工具
1. 安装
-
Asbru 是 Linux 桌面上非常好的免费ssh远程连接管理工具,我们可通过 Asbru 访问宿主机。
-
自己的电脑如果没有安装 curl,还得在安装 docker 之前执行
sudo apt install curl
-
安装完成之后,执行以下命令安装 Asbru 工具
curl -1sLf ‘https://dl.cloudsmith.io/public/asbru-cm/release/cfg/setup/bash.deb.sh’ | sudo -E bash
sudo apt-get install asbru-cm
软件界面如下
2. 访问宿主机
-
点击右上角,
-
输入主机名
-
输入 IP,端口,用户名密码后保存
-
双击刚刚新建的主机,成功进入
二、安装 Docker CE 容器
- Docker CE 是免费的 Docker 产品的新名称,Docker CE 包含了完整的 Docker 平台,非常适合开发人员和运维团队构建容器 APP。
1. 安装必要的一些系统工具
sudo yum -y install yum-utils device-mapper-persistent-data lvm2
显示 Complete 则安装完成
2. 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. 创建元数据缓存
sudo yum makecache fast
4. 安装 Docker CE
sudo yum -y install docker-ce
显示 Complete 则安装完成
5. 启动 Docker 服务
sudo systemctl start docker
6. 设置开机自动启动
sudo systemctl enable docker
7. 安装校验
docker version
三、关于 Docker 的一些概念
-
docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository);
-
容器是由镜像实例化而来,这和我们学习的面向对象的概念十分相似,我们可以把镜像看作类,把容器看作类实例化后的对象。
也可以说镜像是文件, 容器是进程。 容器是基于镜像创建的, 即容器中的进程依赖于镜像中的文件, 这里的文件包括进程运行所需要的可执行文件, 依赖软件, 库文件, 配置文件等等…
- docker仓库:如果使用了git和github就很容易理解docker的仓库概念。docker仓库概念和git类似。
docker仓库是用来包含镜像的位置,docker提供了一个注册服务器(register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像,
四、拉取 Docker 镜像
- 这里我们拉取 Centos 的镜像
1. 搜索镜像
或者访问 DockerHub 搜索
2. 拉取镜像
命令格式:
# docker pull <repository>:<tag> 镜像名:版本
-
没加版本号默认是最新版
docker pull mysql
-
加版本号可以指定版本
docker pull centos:latest
3. 查看镜像
使用以下命令来查看是否已安装了 CentOS:
docker images
五、创建和删除容器
1. 创建容器
语法格式
docker run -p 本机映射端口:镜像映射端口 -d --name 启动镜像名称 -e 镜像启动参数 镜像ID|镜像名称:镜像版本号
(1)通过 ID 创建 MySQL 容器
docker run -p 3306:3306 -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 826efd84393b
(2)验证是否创建成功
- 看看是否创建了,
docker ps -a
- 看一下 IP 地址
通过另一台主机访问
(3)通过名称创建 CentOS 容器
docker run -p 5000:22 -it -d --name master_centos centos:latest
-
-i
表示交互式的,表示这是一个有用户输入的程序,比如/bin/bash 和 python 等等。 -
-t
产生一个终端。
不加-it
会报错,具体可以访问 docker 文档。
(4)验证是否创建成功
-
看看是否创建了,
docker ps -a
-
进入容器内部
docker exec -it master_centos /bin/bash
2. 停止和启动容器
- 先查看正在运行的容器有哪些
(1) 停止 MySQL 容器
# docker stop 容器id|容器名
docker stop mysql
会显示在多久之前退出的
(2) 启动 MySQL 容器
这一次通过 ID 启动
# docker start 容器id|容器名
docker start b13e5f80722c
(3) 停止全部容器
docker start $(docker ps -qa)
-qa
只检索容器 ID
- 停止和启动的区别只有一个单词
3. 删除容器
-
删除容器前需要先停止容器运行
docker rm mysql
六、导出与装载
1. 导出镜像到本地
-
先看看有哪些镜像
docker images
, 不是正在运行的
-
语法格式, 我这里用镜像 ID
docker save -o 导出路径和文件名 镜像ID|名称:标记
docker save -o /root/dockerbackup/centos.tar 5d0da3dc9764
2. 删除镜像
- 在删除镜像之前需要先停止容器
(1)第一步:停止容器
docker stop centos
(2)第二步:删除容器
(3)第三步:删除镜像
- 同样可以通过名字或ID删除
3. 装载本地镜像
语法格式
# docker load -i 镜像文件
docker load -i /root/dockerbackup/centos.tar
- 但是名字这里是none,需要手动打标签,不能有大写字母
七、卸载 Docker
1. 查看 Docker 运行状态
systemctl status docker
-
如果是正在运行,就停止运行状态
systemctl stop docker
2. 查看 docker 文件包
-
查看 yum 安装的 docker 文件包
yum list installed | grep docker
-
查看 docker 相关的 rpm 源文件
rpm -qa | grep docker
3. 删除文件包
-
重复执行
yum -y remove
直到查看安装包的时候没有出现 dockeryum -y remove docker-ce-cli.x86_64
- 然后再看看 rpm 源文件
显然和文件包一起删除了
4. 删除镜像文件
-
如果在卸载之前就删除了所有镜像就不用再删除了
-
如果卸载之前没删除,就删除存放镜像文件的目录,默认在 /var/lib/docker
rm -rf /var/lib/docker