Docker入门 一: 概念与配置

Docker入门 一: 概念与配置

Docker的入门教程的内容:

  1. 配置你的Docker 环境(本章)
  2. 创建一个镜像(Image)并在一个容器(container)里运行它
  3. 扩容你的app到多个容器
  4. 添加一个后端服务器来构建多层服务
  5. 部署你的app到生产环境

Docker的概念

Docker是一个为开发者和管理员通过容器来开发、部署、运行app的平台. Linux中通过容器来部署应用的用法称作 containerization 。容器的概念不是新的,但是他们的简单地部署应用的方式是新的。

Containerization 越来越流行,因为容器是:
0. 灵活的:即使是最复杂的应用都可以被集成化(Containerized)
1. 轻量级: 容器使用和共享内核
2. 可持续交付的:你可以在运行中(on-the-fly)部署修改和升级
3. 灵活的:你可以本地构建,部署到云端,并且在任何地方运行
4. 可扩展的:你可以增加和自动分配容器拷贝
5. 多级的:你可以创建垂直多级服务

镜像和容器

一个容器通过运行一个镜像来启动。 一个镜像是一个可执行的包,它包含了所有运行这个应用的代码、运行时、库文件、环境变量和配置文件等。

一个容器是一个一个镜像的运行时实例——镜像变成运行在内存中运行(一个有状态的镜像和用户进程).你可以看到运行中的容器,通过 docker ps 这个命令

容器和虚拟机

一个容器运行起来就像原生的应用,与其他容器一起共享主机内核。运行不容的进程,不比任何别的应用消耗更多的内存,它非常轻量。

与它不同的是,虚拟机(virtual machine) 通过虚拟化技术运行一个全套的操作系统.也就是说,虚拟机提供了一包含很多应用不需要的资源的环境。

Docker入门 一: 概念与配置_第1张图片

准备Docker 环境

安装稳定的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中。

配置docker仓库信息

  1. 安装需要的包. yum-utils 提供 yum-config-manager 工具,同时 device-mapper-persistent-datalvm2devicemapper需要的数据驱动.
$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
  1. 通过下面的命令配置 stable的仓库.只能使用stable的仓库,即使你想要安装 edge 或者 test 版本
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安装Docker CE

  1. 安装
$ sudo yum install docker-ce

也可以安装指定版本的ce,比如 docker-ce-18.03.0.ce

$ sudo yum install docker-ce-STRING>
  1. 启动
$ sudo systemctl start docker
  1. 验证测试
$ sudo docker run hello-world

这个命令会下载一个测试镜像并在一个容器里运行它,并打印一些信息后退出。

开机自启动docker

$ sudo systemctl enable docker

关闭的话就写成 disable

其他

使用docker的时候,基本都是在sudo命令下,如果你嫌这样太麻烦,可以把用户添加到docker 用户组

你可能感兴趣的:(docker,Docker,入门)