结构图:
镜像(image)
可以理解成一个模版,可以通过这个模版来创建容器服务,tomcat镜像-> run -> container comcat(提供服务器)
容器(container)
利用容器技术,独立运行一个或者一个组应用,通过镜像来创建
启动、停止、删除等基本命令。
可以理解成一个简易的linux系统
仓库(repository)
存放镜像的地方,类似github
可分为:共有仓库(Docker Hub,阿里云...)与私有仓库
安装
Get Docker | Docker Documentation
centos:
要求:
To install Docker Engine, you need a maintained version of CentOS 7 or 8. Archived versions aren’t supported or tested.
查看内核版本
[root@iZwz93269bclc8ax50f8azZ ~]# uname -r
4.18.0-193.14.2.el8_2.x86_64
查看系统版本
[root@iZwz93269bclc8ax50f8azZ ~]# 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"
-
卸载老版本
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
-
需要的安装包安装
sudo yum install -y yum-utils
- 设置镜像仓库
sudo yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo # 默认是国外
sudo yum-config-manager
--add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
3.更新软件包索引
yum makecache
centos8
yum makecache fast
centos7
- 安装docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io
安装指定版本:
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
5.启动systemctl start docker
6.查看是否安装成功docker version
[root@iZwz93269bclc8ax50f8azZ ~]# docker version
Client: Docker Engine - Community
Version: 20.10.11
API version: 1.41
Go version: go1.16.9
Git commit: dea9396
Built: Thu Nov 18 00:36:58 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.11
API version: 1.41 (minimum version 1.12)
Go version: go1.16.9
Git commit: 847da18
Built: Thu Nov 18 00:35:20 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.12
GitCommit: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
runc:
Version: 1.0.2
GitCommit: v1.0.2-0-g52b36a2
docker-init:
Version: 0.19.0
GitCommit: de40ad0
7.运行hello worlddocker run hello-world
[root@iZwz93269bclc8ax50f8azZ ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest feb5d9fea6a5 2 months ago 13.3kB
[root@iZwz93269bclc8ax50f8azZ ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cef1089162d8 hello-world "/hello" About a minute ago Exited (0) About a minute ago condescending_mccarthy
8.卸载
sudo yum remove docker-ce docker-ce-cli containerd.io # 卸载资源
sudo rm -rf /var/lib/docker # 默认工作路径
sudo rm -rf /var/lib/containerd
9.使用阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://qzf7r1sp.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
mac:
mirrors 使用国内:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
],
"debug": true,
"max-concurrent-downloads": 1,
"experimental": true
}
Docker-ce && Docker-ee ,一般社区版就够用了