Docker的入门教程的内容:
Docker是一个为开发者和管理员通过容器来开发、部署、运行app的平台. Linux中通过容器来部署应用的用法称作 containerization 。容器的概念不是新的,但是他们的简单地部署应用的方式是新的。
Containerization 越来越流行,因为容器是:
0. 灵活的:即使是最复杂的应用都可以被集成化(Containerized)
1. 轻量级: 容器使用和共享内核
2. 可持续交付的:你可以在运行中(on-the-fly)部署修改和升级
3. 灵活的:你可以本地构建,部署到云端,并且在任何地方运行
4. 可扩展的:你可以增加和自动分配容器拷贝
5. 多级的:你可以创建垂直多级服务
一个容器通过运行一个镜像来启动。 一个镜像是一个可执行的包,它包含了所有运行这个应用的代码、运行时、库文件、环境变量和配置文件等。
一个容器是一个一个镜像的运行时实例——镜像变成运行在内存中运行(一个有状态的镜像和用户进程).你可以看到运行中的容器,通过 docker ps
这个命令
一个容器运行起来就像原生的应用,与其他容器一起共享主机内核。运行不容的进程,不比任何别的应用消耗更多的内存,它非常轻量。
与它不同的是,虚拟机(virtual machine) 通过虚拟化技术运行一个全套的操作系统.也就是说,虚拟机提供了一包含很多应用不需要的资源的环境。
安装稳定的Docker Community Edition (CE)版本 或者 Enterprise Edition (EE)版本,EE版本是不开源的商业收费版本。
需要一个Centos 7及以上的Linux系统.之前的归档版本不在提供支持
centos-extras
的仓库必须是开启的.这个仓库默认是开启的,如果被关闭了,你需要开其他。
推荐安装overlay2
储存驱动
旧版的Docker 叫做docker 或者 docker-engine。如果已经安装过了,删除他们
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
如果yum
提示这些未安装,那么就是没有安装过docker
/var/lib/docker
目录内包含了 镜像、容器、分区、网络等受保护信息。Docer CE的包名叫做 docker-ce
, EE的包名叫做 docker-ee
如果你之前没安装过docker,那么在安装之前,需要配置一下yum
的仓库配置。把docker的仓库信息添加到yum
中。
yum-utils
提供 yum-config-manager
工具,同时 device-mapper-persistent-data
和 lvm2
是 devicemapper
需要的数据驱动.$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum install docker-ce
也可以安装指定版本的ce,比如 docker-ce-18.03.0.ce
$ sudo yum install docker-ce-STRING>
$ sudo systemctl start docker
$ sudo docker run hello-world
这个命令会下载一个测试镜像并在一个容器里运行它,并打印一些信息后退出。
$ sudo systemctl enable docker
关闭的话就写成 disable
使用docker的时候,基本都是在sudo
命令下,如果你嫌这样太麻烦,可以把用户添加到docker
用户组