第一章:认识Docker
1.1.开发中遇到的问题
1.1.1.我们写的代码会接触到好几个环境:开发环境、测试环境以及生产环境;
1.1.2.我们在三种环境下会遇到一些问题:开发–>测试迁移的过程中“水土不服”,开发到生产过程中:跨环境的迁移问题;
1.1.2.为解决水土不服的问题,实现带环境安装,就可以实现100%安装,可以使用Docker打包成有个镜像文件
1.2.Docker的基本概念与安装
1.2.1.Docker基本概念
- Docker 是一个开源的应用容器引技术,可以解决软件跨环境迁移的问题
- Docker 诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)
- Docker 可以
让开发者打包他们的应用 以及依赖包到一个轻量级、可移植的容器中 ,然后发布到任何流行的 Linux 机器上。 - 容器是完全使用沙箱机制,相互隔离 容器性能开销极低。
- Docker 从 17.03 版本之后
分为 CE( Community Edition:社区版) 和 EE (Enterprise Edition: 企业版)
- a.安装CentOS7
- Docker运行在Centos7上,要求
系统为64位,Linux系统内核版本为3.8以上 ,查看内核命令:cat /etc/redhat-release - b.卸载Docker的旧版本:
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine - c. yum 包更新到最新:
yum update - d.安装需要的软件包, yum-util提供yum-config-manager功能,另外两个devicemapper驱动依赖的
yum install -y yum-utilsdevice-mapper-persistent-data lvm2 - e.设置yum源:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo - f.安装docker,出现输入的界面都按 y :
yum install -y docker-ce - g.查看docker版本,验证是否验证成功:
docker -v
1.3.Docker架构
1.3.1.Docker基础架构
镜像(Image) :Docker 镜像(Image),镜像可以用来创建容器,镜像就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。 镜像类似于java文件中的类模板,而docker容器实例类似于java中bnew出来的实例。 容器(Container) :镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。仓库(Repository) :仓库可看成一个代码控制中心,用来保存镜像。默认情况下,将来从docker hub上下载docker镜像,但是太慢。所以一般都会配置镜像加速器:如阿里云 - Docker架构的的
底层通信原理
1.3.2.配置远程仓库
//docker启动
systemctl start docker
service docker start
//重启docker服务
systemctl restart docker
sudo service docker restart
//关闭docker
systemctl stop docker
service docker stop
//查看是否启动成功
docker ps -a
|