Docker
简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker是基于 Go 语言开发的,是一个开源项目。
虚拟机技术缺点:模拟一个完整的操作系统,资源占用多,步骤冗余,启动慢。
Docker 容器化技术:不是模拟的一个完整的操作系统。运行在宿主机的内核上。每个容器内是互相隔离的,互不影响。
DevOps:开发 运维。
应用更快的交付和部署。
传统:安装各种的jar包,打包发布。
Docker :一键打包镜像发布,测试。
更便捷的升级和扩缩容,项目打包为一个镜像,部署应用就和搭积木一样。
更简单的系统运维,容器化后,开发测试环境都是一致的。
更高效的计算资源利用,Docke是内核级的虚拟化,在一个物理机上可以运行很多的容器。
Docker安装
Docker的基本组成
镜像(image):
就好比是一个模板,可通过这个镜像来创建容器服务,比如 tomcat 镜像--->run--->tomcat01容器,通过这个镜像可以创建多个容器(应用最终在容器中运行)。
容器(container):
Docker利用容器技术,独立运行一个或一组应用,通过镜像创建。
启动,停止,删除,基本命令。
仓库(repository):
存放镜像的地方。仓库分为公有仓库和私有仓库。
安装Docker
环境准备:
- 需要会Linux基础
- Centos7
- 使用Xshell连接远程服务器操作
- 已经购买云服务器(以下使用阿里云)
环境查看
#系统内核是3.0以上的
[root@zhourui /]# uname -r
4.18.0-193.28.1.el8_2.x86_64
#系统版本
[root@zhourui /]# 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"
安装:参考帮助文档 https://docs.docker.com/engine/install/centos/
卸载旧的版本
#卸载
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#需要的安装包
yum install -y yum-utils
#设置镜像的仓库
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
#更新yum软件包索引
yun makecache fast
#安装docker decker-ce社区版的 ee企业版
yum install docker-ce docker-ce-cli containerd.io
#启动docker
systemctl start docker
#查看是否安装成功
docker version
测试
#启动 hello-world
docker run hello-world
#查看下载的hello-world镜像
[root@zhourui /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d1165f221234 2 weeks ago 13.3kB
#卸载docker
yum remove docker-ce docker-ce-cli containerd.io
#删除资源
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
配置阿里云镜像加速
#默认的是国外的十分慢 推荐使用阿里云镜像
登录阿里云找到容器服务。
找到容器镜像服务
配置使用
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://tk46rux4.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker