Docker的概述,安装以及镜像加速的配置
Docker概述
1. Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
2. Docker 公司起初是一家名为 dotCloud 的平台即服务(Platform-as-a-Service, PaaS)提供商。底层技术上,dotCloud 平台利用了 Linux 容器技术。为了方便创建和管理这些容器,dotCloud 开发了一套内部工具,之后被命名为“Docker”。Docker就是这样诞生的!2013年,docker开放源代码。
3. 在容器技术出来之前,都是使用虚拟机技术,在window中装一个VM,通过这个软件可以虚拟出来一台或多态电脑,但比较笨重!虚拟机属于虚拟化技术,Docker是容器技术,也是一种虚拟化技术,十分轻巧!到现在为止,所有开发人员必须掌握Docker!
4. Docker是基于Go语言开发的!开源项目!
- 官网 :https://www.docker.com/
- 文档地址 :https://docs.docker.com/
- 仓库地址 :https://hub.docker.com/
Docker的用处
之前的虚拟机技术
虚拟机技术缺点:
容器化技术
比较Docker和虚拟机技术的不同
- 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件。
- 容器内的应用直接运行在宿主机内,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了。
- 每个容器之间是互相隔离,每个容器内都有一个属于自己的文件系统,互不影响。
DevOps (开发,运维)
应用更快速的交付和部署
传统:一堆帮助文档,安装程序
Docker : 打包镜像发布测试,一键运行
更便捷的升级和扩缩容
更简单的系统运维
在容器技术后,我们的开发,测试环境都是高度一致的。
更高效的计算资源利用
Docker是内核级别的虚拟化,可以在一个物理机上运行很多的容器实例,服务器的性能可以压榨到极致。
Docker的安装
Docker的基本组成
镜像(image):
docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,通过镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中)。
容器(container):
docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。
启动,停止,删除,基本命令!
仓库(repository):
仓库就是存放镜像的地方!仓库分为公有仓库和私有仓库!Docker Hub(默认是国外的)。
安装Docker
环境准备
操作系统必须是7或8
安装
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 makecache fast
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
docker run hello-world
[root@fuyimin ~]
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d1165f221234 4 months ago 13.3kB
了解:卸载docker
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
阿里云镜像加速
- 登录阿里云服务器控制台找到容器服务
- 找到镜像加速地址
-
配置使用 sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://8rugs1ou.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
|