一: 配置加速器
国内从Docker Hub下载镜像速度很慢,我们可以配置阿里云专属加速器来解决
1.1 浏览器访问并登陆阿里云(淘宝或支付宝帐号登陆也可以)
阿里云-上云就上阿里云
1.2 登陆后,进入阿里云“控制台”,搜索“容器镜像服务”,然后点击菜单:“镜像中心”-->“镜像加速器”
最后,将容器右边的“加速器地址”复制下来即可
/https://0o5f7d8e.mirror.aliyuncs.com(这里是我的加速器地址)
1.3 设置容器镜像服务的密码(可选)
容器镜像服务(Container Registry)提供多地域镜像托管能力,稳定的国内外镜像构建服务,便捷的镜像授权功能,
方便用户进行镜像全生命周期管理。在开通流程中,您需要设置独立于账号密码的Registry登录密码,便于镜像的上传、下载。
注1:此步骤为可选,如果需要使用阿里云来管理你的镜像 ,此步骤必须设置
1.4 修改docker相关配置
vi /etc/docker/daemon.json
添加下面内容(地址替换成上面的加速器地址):
{
"registry-mirrors":["你的阿里云专属加速器地址"]
}
例如:
{"registry-mirrors":["https://0o5f7d8e.mirror.aliyuncs.com"]}
注:在这里可以先将registry-mirrors换成自己的阿里云专属加速器地址后,在复制到工具里面去执行(方便)
1.5 重新加载daemon
systemctl daemon-reload
1.6 重启docker
systemctl restart docker
1. 2.2 搜索镜像
$ docker search 镜像名称
例如:docker search mysql
2.3 下载镜像
docker pull 镜像名
例如, 获取一个 centos 系统的基础镜像可以使用如下的命令
## 未指定版本一般会使用latest(最新的)版本
$ docker pull centos
## 或者直接指定版本
$ docker pull centos:版本号
2.4 查看宿主机上的镜像
$ docker images
注1:查看image位置
## /var/lib/docker为docker默认安装目录
cd /var/lib/docker/containers
ls
2.5 删除镜像
$ docker rmi 镜像ID/标签
$ docker rmi 2ca708c1c9cc
$ docker rmi centos:latest 或 docker rmi centos:版本号
注1:如果提示镜像被使用,需要先停止某个ID的容器,那么要先删除容器再删除镜像。或者强制删除镜像
$ docker rmi -f centos:版本号
-f, -force: 强制删除镜像, 即使有容器依赖它
注意, 通常并不推荐使用-f参数来强制删除一个存在容器依赖的镜像。 正确的做法是,
先删除依赖该镜像的所有容器, 再来删除镜像
二. Docker容器
容器是Docker的另一个核心概念。简单来说,容器是镜像的一个运行实例。所不同的是,
镜像是静态的只读文件,而容器带有运行时需要的可写文件层,同时,容器中的应用进程处于运行状态
如何理解:类->实例,镜像->容器
常用操作
2.1 启动、停止、重启容器命令
$ docker start 容器ID|name|name:tag
$ docker stop 容器ID|name|name:tag
$ docker restart 容器ID|name|name:tag
2.2 查看当前运行的容器
$ docker ps
2.3 查看所有容器
$ docker ps -a
2.4 删除容器
$ docker rm 容器
注1:主要支持的选项包括
-f, --force=false 是否强行终止并删除一个运行中的容器
-1, --link=false :删除容器的连接 ,但保留容器;
-v, --volumes=false :删除容器挂载的数据卷
注2:删除容器,还可以参考附录三,可根据条件删除
2.5 创建容器(重点)
$ docker create -it centos:latest
$ docker create -it --name centostest1 centos:lates
注1:命令说明
centos:latest:即镜像名字:版本(或镜像ID),将使用指定镜像创建容器。另外,Docker会检
查本地是否存在指定的镜像,不存在就从公有仓库下载
-it:是两个参数,-i:interactive容器具有交互功能,-t:容器将提供伪终端
--name:指定生成的容器的名字,允许空,如果不指定会自动生成
注2:此时,通过如下命令,可以查看到刚刚创建的容器
$ docker ps - a
注3:create命令新建的容器处于停止状态,可以使用start命令来启动它
$ docker start 容器ID
2.6 启动容器(重点)
$ docker start 容器ID/name
注2:docker ps 查看已启动容器,注意:此时容器状态为UP,Exited,Created
2.7 进入容器(重点)
$ docker exec -it 容器ID/容器NAME /bin/bash
## 简写
$ docker exec -it 容器ID/容器NAME bash
注1:只有在容器启动的时候即UP状态才能进入容器终端
2.8 创建\启动\进入容器(run=create+start)
## 新建->启动->进入容器
$ docker run -it centos:latest /bin/bash