Docker安装和配置
1. 创建云产品资源
- 在体验实验室,单击创建资源。
- (可选)在实验室⻚⾯左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、⽤户信息等)。
说明:资源创建过程需要1~3分钟。
2. Docker的安装
Docker是基于Linux内核服务的轻量级开源容器产品,本系列实验我们将为大家介绍docker产品的安装,使用和案例。在本实验中,我们先来介绍docker 的安装。在centos系统中,我们一般通过yum进行软件包的安装。因此本次实验我们也通过yum来安装docker运行环境。
- 安装docker的依赖组件
在安装docker之前,我们需要先通过yum来安装docker的必要的依赖组件。同时为了编译后面的配置信息格式化输出,我们同时需要安装jq工具。
yum install -y yum-utils device-mapper-persistent-data lvm2
yum install -y jq
- 添加Docker的安装来源
因为docker安装包不在yum的默认源列表中,因此在安装之前我们需要通过yum-config-manager --add-repo命令向yum默认源列表中添加docker源的地址。
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
源添加成功后,我们可以使用yum list命令查看当前的docker源中支持的安装包版本列表。
yum list docker-ce --showduplicates | sort -r
- 安装Docker应用
docker依赖和docker源安装完成之后,我们就可以使用yum install docker-ce.x86_64命令来安装docker 应用,在使用yum install安装时,默认会选择最新的版本进行安装。如果需要指定安装版本也可以在命令后面加入具体的版本号,接下来我们来安装docker的3:20.10.16-3.el7版本。
yum install -y docker-ce.x86_64 3:20.10.16-3.el7
安装成功之后,我们还需要通过systemctl start命令来启动docker服务
systemctl start docker.service
3. Docker的配置
- 镜像源的配置
通过docker拉取镜像时,默认会通过国外的镜像源进行下载,因此可以配置国内的镜像源以加快下载速度。修改docker的镜像源时,我们使用vi编辑文件 /etc/docker/daemon.json 。注意使用vi编辑器时:
- 需要先按i键进入编辑模式。
- 编辑完成之后按esc退出编辑模式。
- 然后按大写的ZZ保存并退出vi。
vi /etc/docker/daemon.json
接下来将下列内容添加到文件中。其中阿里用户ID我们可以通过实验控制台获得。
{ "registry-mirrors":["https://[阿里用户ID].mirror.aliyuncs.com"] }
在编辑成功后,按ECS推出编辑模式,然后按ZZ退出vi。
- 镜像源修改后,需要重新启动docker服务。
systemctl restart docker.service
服务重启成功后,我们可以通过docker version查看docker版本信息。如果出现客户端版本信息和服务版本信息,则说明dcoker已经安装成功且服务已经启动
docker version
- 服务启动之后,为了防止计算机重启之后docker服务被关闭,我们还可以通过systemctl enable命令将docker服务配置为开机自启动。(此步骤为可选操作)
systemctl enable docker.service
4. Docker的快速上手
在前面的小节中我们介绍了Docker 的安装的配置,接下来为大家介绍一些Docker的快速上手命令和用法。
- 启动hello-world
Docker安装配置成功之后,我们就可以通过docker run命令启动轻量级的容器虚拟机。我们执行如下命令
docker run hello-world
会发现屏幕上输出了Hello from Docker!信息。这个信息输出表示hello-world容器虚拟机启动成功。
- 启动长期运行的bash容器
在上一个步骤中,我们演示了docker最基本的用法,这种方式启动的hello-world容器,在启动之后会输出文字,在输出之后容器就会结束。
接下来我们来启动一个可以长期运行的bash容器。我们在命令行中输入如下命令,运行成功后会看到命令提示行变为bash,这表示容器虚拟机已经持续运行。
docker run -it bash
- bash容器的退出
在运行的bash容器中我们可以使用一些基本的linux命令,如pwd,ls等
pwd ls
如果希望退出bash容器,回到宿主机,我们在控制台中输入exit命令即可。
exit
5. 容器的查找和下载
在使用docker run命令运行容器时,我们会看到在容器运行之前,出现了Status: Downloaded newer image状态。这表示在容器虚拟机第一次运行时,会首先从远程容器源服务器中下载镜像到本地,然后才能在本地运行。
在本小节中,我们来学习如何分步骤从镜像源查找所需要的容器镜像,然后再来了解如何下载容器镜像,并且查看本地已经下载好的容器镜像列表。
- 远程查找容器
当我们需要查找容器时,可以通过docker search命令在的镜像源中查找所需要的容器镜像。接下来我们来查找ubuntu容器。
docker search ubuntu
- 查找容器的版本信息
在找到所需要的容器镜像的名称之后,通常需要进一步在docker的镜像源中查找该镜像的版本列表。由于docker本身没有直接提供查看版本的功能,因此在这里我们为大家提供了一个可以查看镜像版本的简单脚本docker-tags。我们生成docker-tags脚本并加入以下内容 ,
注意使用vi编辑器时:
- 需要先按i键进入编辑模式。
- 编辑完成之后按esc退出编辑模式。
- 然后按大写的ZZ保存并退出vi。
vi docker-tags
curl -s -S "https://registry.hub.docker.com/v2/repositories/library/$1/tags/?page=$2" | sed -e 's/,/\n/g' -e 's/\[/\\\[\n/g' | grep -E '"name":|"count":' | sed -e 's/"//g' -e "s/name:/$1:/g" -e "s/{count:/$1总版本数-/"
docker-tags脚本编辑好之后,需要通过chmod修改文件权限才可以执行。在权限修改完成之后,就可以使用docker-tags脚本来查询相关镜像的最近版本信息了。
chmod 777 docker-tags ./docker-tags ubuntu
- 拉取容器镜像
当我们查找到镜像的版本信息之后,就可以拉取镜像到本地了。在拉取镜像时我们可指定拉取镜像的版本,也可不指定版本默认拉取最新版本。首先我们使用docker pull命令来拉取ubuntu容器的jammy版本。
docker pull ubuntu:jammy
接下来我们来拉取ubuntu的最新版本。
docker pull ubuntu
当镜像源已经拉取到本地之后,我们可以通过docker images命令来查看已经拉取到的本地镜像。
docker images
实验地址:https://developer.aliyun.com/adc/scenario/2e269bf2b2764d5ebc3642b70a8a99ff