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语言开发的!开源项目!
之前的虚拟机技术
虚拟机技术缺点:
容器化技术
比较Docker和虚拟机技术的不同
DevOps (开发,运维)
应用更快速的交付和部署
传统:一堆帮助文档,安装程序
Docker : 打包镜像发布测试,一键运行
更便捷的升级和扩缩容
更简单的系统运维
在容器技术后,我们的开发,测试环境都是高度一致的。
更高效的计算资源利用
Docker是内核级别的虚拟化,可以在一个物理机上运行很多的容器实例,服务器的性能可以压榨到极致。
镜像(image):
docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,通过镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中)。
容器(container):
docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。
启动,停止,删除,基本命令!
仓库(repository):
仓库就是存放镜像的地方!仓库分为公有仓库和私有仓库!Docker Hub(默认是国外的)。
环境准备
操作系统必须是7或8
安装
# 1.卸载久命令 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine # 2.需要的安装包 yum install -y yum-utils # 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 #推存使用国内阿里云镜像 # 4.更新yum包软件索引 yum makecache fast # 5.安装docker引擎 docker-ce 社区版 ee企业版 yum install docker-ce docker-ce-cli containerd.io # 6.启动docker systemctl start docker # 7.验证docker引擎是否安装正确 docker run hello-world
# 8.查看下载的镜像 [root@fuyimin ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest d1165f221234 4 months ago 13.3kB
了解:卸载docker
# 1.卸载依赖 yum remove docker-ce docker-ce-cli containerd.io # 2.删除资源 /var/lib/docker默认基本路径 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