一、安装Docker 安装Docker的环境要求最近公司有项目需要运行在腾讯TSF平台的需求,腾讯应用部署有两种方式:一种是虚拟机部署,而另一种就是容器部署。而容器部署就涉及了docker相关领域,在此之前Docker是我的知识盲区,掌握docker是迈向高级Java开发必不可少的技能点,趁空闲时间就抓紧学习Docker。
下面是官方文档上对Centos系统上安装Docker的环境要求:
- 查看Linux系统版本号
## 查看系统版本 [root@VM-32-10-centos ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="8 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="8" PLATFORM_ID="platform:el8" PRETTY_NAME="CentOS Linux 8 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:8" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-8" CENTOS_MANTISBT_PROJECT_VERSION="8" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="8" ## 查看Linux kernel内核版本,Docker要求内核版本必须在3或4以上 [root@VM-32-10-centos ~]# uname -r 4.18.0-305.3.1.el8.x86_64
- 查看centos是否启用centos-extras
[root@VM-32-17-centos ~]# vim /etc/yum.repos.d/
# 选中上图标红的镜像输入i,然后再敲回车即可查看该镜像卸载旧的Docker版本
[root@VM-32-10-centos ~]# sudo yum remove docker > docker-client > docker-client-latest > docker-common > docker-latest > docker-latest-logrotate > docker-logrotate > docker-engine No match for argument: docker No match for argument: docker-client No match for argument: docker-client-latest No match for argument: docker-common No match for argument: docker-latest No match for argument: docker-latest-logrotate No match for argument: docker-logrotate No match for argument: docker-engine No packages marked for removal. Dependencies resolved. Nothing to do. Complete!设置仓库镜像
默认官方镜像地址: https://download.docker.com/linux/centos/docker-ce.repo,但国外访问速度慢,使用腾讯云提供的docker官方镜像
## 下载yum-utils 包,这个包集成了yum-config-manager的支持
sudo yum install -y yum-utils
## 设置yum-config-manager的仓库镜像为腾讯云镜像
sudo yum-config-manager
--add-repo
http://mirrors.tencent.com/docker-ce/linux/centos/docker-ce.repo
安装Docker Engine
## 安装最新版daocker引擎 sudo yum install docker-ce docker-ce-cli containerd.io
如果你有安装指定版本的Docker的需求可以查看相关引擎的版本号并安装指定版本
## 查看Docker的可用版本 [root@VM-32-10-centos ~]# yum list docker-ce --showduplicates | sort -r Last metadata expiration check: 0:02:01 ago on Fri 10 Dec 2021 10:40:36 AM CST. docker-ce.x86_64 3:20.10.9-3.el8 docker-ce-stable docker-ce.x86_64 3:20.10.8-3.el8 docker-ce-stable docker-ce.x86_64 3:20.10.7-3.el8 docker-ce-stable docker-ce.x86_64 3:20.10.6-3.el8 docker-ce-stable docker-ce.x86_64 3:20.10.5-3.el8 docker-ce-stable ## 安装指定版本的Docker Engine(VERSION_STRING:对应的版本号字符串) sudo yum install docker-ce-Docker相关启动命令docker-ce-cli- containerd.io
## 启动docker sudo systemctl start docker ## 查看docker的状态 sudo systemctl status docker ## 重启docker sudo systemctl restart docker ## 停止docker sudo systemctl stop docker
查看docker版本
## 查看docker的版本号 docker version
如果有如下输出则证明docker安装成功。
## 运行docker的hello-world案例 sudo docker run hello-world
docker run发生了什么?
- docker run 镜像时会首先会检查本地是否有该镜像,如果有直接运行。
- 如果本地无法查找镜像,则尝试去远程镜像仓库进行下载。
- 如果远程镜像仓库有该镜像则拉取(pull)到本地仓库并运行该镜像
- 如果远程镜像仓库没有该镜像则直接返回错误信息。



