1. Docker概述
2010在美国几个年轻人成立了dotCloud,做一些pass云计算服务、LXC有关的容器技术,并将自己的容器化技术命名为Docker
然而刚刚诞生并没有引起行业的关注
于是,2013年Docker开源,每月更新一个版本
2014.4.9,Docker1.0发布
核心思想:隔离,通过隔离将服务器利用到极致
开发打包部署上线,一套流程
基于Go语言开发
容器化技术不是模拟一个完整的操作系统,直接运行在宿主机上,没有自己的内核,也没有虚拟硬件
DevOps(开发、运维)
2. Docker安装
2.1 Docker基本组成
镜像(Images):
通过镜像创建容器服务,例:tomcat镜像 ==> run ==> tomcat01容器(提供服务)
- 通过这个镜像可以创建多个容器(最终服务或项目运行是在容器中)
容器(container):
Docker利用容器技术,独立运行一个或一个组应用,它是通过镜像创建的
可以理解为一个简易的linux系统
仓库(repository):
存放镜像的地方,分为公有仓库和私有仓库
2.2 安装Docker
安装环境
[root@andyxiong /]# uname -r
3.10.0-1127.el7.x86_64
[root@andyxiong /]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
# 2.2.1 卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 2.2.2 需要的安装包
yum install -y yum-utils
# 2.2.3 设置镜像仓库
# 国外仓库
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 阿里云镜像
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 2.2.4 安装Docker
# 安装前更新yum索引
yum makecache fast
# 安装Docker
yum install docker-ce docker-ce-cli containerd.io
# 2.2.5 启动Docker
systemctl start docker
# 2.2.6 查看是否安装成功
docker version
# 2.2.7 hello-world
docker run hello-world
=>Unable to find image 'hello-world:latest' locally # 没有找到'hello-world:latest'镜像
latest: Pulling from library/hello-world # 拉取'hello-world:latest'镜像
0e03bdcc26d7: Pull complete
Digest: sha256:6a65f928fb91fcfbc963f7aa6d57c8eeb426ad9a20c7ee045538ef34847f44f1
Status: Downloaded newer image for hello-world:latest
Hello from Docker! # 运行成功
# 2.2.8 查看下载的镜像
docker images
2.3 卸载Docker
# 2.3.1 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
# 2.32 删除资源
rm -rf /var/lib/docker
2.4 阿里云镜像加速器
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://********.mirror.aliyuncs.com"]# 个人加速器地址在阿里云容器镜像服务中
}
EOF
systemctl daemon-reload
systemctl restart docker