Docker概念:是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行Linux机器上,也可以实现虚拟化。
产生背景:
- 解决开发与运维之间的矛盾,(不同的环境)
- 集群环境下每台服务器都配置相同的环境,太麻烦
- 解决在我这里正常的问题
官网: www.docker.com
中文:www.docker-cn.com
Docker作用:简化了环境的部署和配置,实现一次构建,处处运行。避免了因为运行环境的不一致导致的异常。
- 将软件环境安装并配置好,打包成一个镜像,然后发布出去(docker仓库)
- 其他使用者可以在仓库中下载这个镜像。
- 通过Docker运行这个镜像,就可以获取同样的环境(容器)。
Docker与虚拟机的区别:
- 传统虚拟机技术:模拟一个完整的操作系统,先虚拟出一套完整的硬件,然后再安装操作系统,最后在系统上运行应用程序
缺点:资源占用多,启动慢
- Docker容器技术: 不是模拟一个完整的操作系统,没有进行硬件虚拟,而是对进程进行隔离,封装成容器,容器内的应用程序是直接使用宿主机的内核,且容器之间是相互隔离的,互不影响。
优点: 更轻便,效率高,启动快,秒级别
基本术语:
docker主机(host):安装了docker程序的主机,运行Docker守护进程
Docker镜像:将软件环境打包好的模板,每运行一次镜像就产生一个容器,容器可以启动、停止和删除。
docker容器:运行镜像后生成的实例为容器。容器使用了沙箱机制,互相隔离,是独立安全的。
Doker仓库:用来保存镜像的,仓库中包含许多镜像,每个镜像都有不同的标签tag
官方仓库:www.hub.docker.com
使用步骤:
1. 安装Docker
2. 下载镜像
3. 运行镜像,此时生成一个容器。
4. 对容器进行启动或者停止。
配置Docker镜像加速:
使用阿里云提供的镜像仓库,也可以使用网易云等。
步骤: 注册阿里云的开发平台 http://dev.aliyun.com
查看专属加速器网址
配置自己的Docker加速器
vi /etc/docker/daemon.json
{"registry-mirrors": ["https://sswv6yx0.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker
容器操作:
例子: