Ethan's Blog


  • Home

  • Archives

  • Tags

  • Search

Docker 数据管理

Posted on 2019-06-22

在生产环境中使用 Docker,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作。
容器中管理数据主要有两种方式:

  • 数据卷(Data Volumes):宿主机目录直接映射进容器。
  • 数据卷容器(Data Volumes Containers):使用特定容器维护数据卷。

通过这些机制,即使容器在运行中出现故障,用户也不必担心数据发生丢失,只需要快速的重新创建容器即可。

数据卷

数据卷是一个可供容器使用的特殊目录,类似于 Linux 中的 mount 行为。

对数据卷的更新不会影响镜像,解耦开应用和数据。

Read more »

访问 Docker 仓库

Posted on 2019-06-16

仓库(Repository)是集中维护容器镜像的地方,为 Docker 镜像文件的分发和管理提供了便捷的途径,又分为公共仓库和私有仓库。
注册服务器(Registry)是存放仓库的具体服务器,一个注册服务器可以有多个仓库,而每个仓库下面可以有多个镜像。
仓库可以被认为是一个具体的项目或目录,例如对于仓库地址 private-docker.com/ubuntu 来说,private-docker.com 是注册服务器地址,ubuntu 是仓库名。

Docker Hub 公共镜像市场

Docker Hub 是 Docker 官方提供的最大的公共镜像仓库,目前包括了超过 100, 000 的镜像,地址为 https://hub.docker.com。

登陆

可以执行 docker login 命令进行登录,登录成功的用户可以 push 个人制作的镜像到 Docker Hub。

Read more »

操作 Docker 容器

Posted on 2019-06-16

容器是 Docker 的另一个核心概念,容器是镜像的一个运行实例。镜像是静态的只读文件,容器中的应用进程处于运行状态。

创建容器

对容器的操作就像直接操作应用一样简单和快速。

新建容器

可以使用 docker create 命令新建一个容器,新建的容器处于停止状态,可以使用 docker start 命令来启动他。

1
$ docker create -it ubuntu:latest

容器是整个 Docker 技术栈的核心,支持的选项十分复杂。主要包括如下几大类:

  • 与容器运行模式相关
  • 与容器环境配置相关
  • 与容器资源限制和安全保护相关
Read more »

使用 Docker 镜像

Posted on 2019-06-09

镜像是 Docker 三大核心概念中最重要的。

获取镜像

可以使用 docker pull 命令直接从 Docker Hub 镜像源来下载镜像,描述一个镜像需要包括“名称+标签”信息(NAME[:TAG])。

1
$ docker pull ubuntu:18.04

如果不显式指定 TAG,则默认会选择 latest 标签。从稳定性上考虑,不要在生产环境中忽略镜像的标签信息或使用默认的 lastest 标记的镜像。

镜像文件一般由若干层(layer)组成,当不同的镜像包括相同的层时,本地仅存储了层的一份内容,减少了存储空间。
如果从非官方的仓库下载镜像,则需要在仓库名称前指定完整的仓库地址:

1
$ docker pull hub.c.163.com/public/ubuntu:18.04

下载镜像到本地后,即可随时使用该镜像了:

1
$ docker run -it ubuntu:18.04 /bin/bash
Read more »

核心概念与安装配置

Posted on 2019-06-08

镜像(image)、容器(container)、仓库(repository),只有理解了这三个核心概念,才能顺利的理解 Docker 容器的整个生命周期。

核心概念

Docker 镜像

Docker 镜像类似于虚拟机镜像,可以将他理解为一个只读的模版。
通过版本管理和增量的文件系统,Docker 提供了一套十分简单的机制来创建和更新现有的镜像,用户甚至可以从网上下载一个已经做好的应用镜像,并直接使用。

Docker 容器

Docker 容器类似于一个轻量级的沙箱,Docker 利用容器来运行和隔离应用。

镜像自身是只读的。容器从镜像启动的时候,会在镜像的最上层创建一个可写层。

Read more »
1…474849…55
necusjz

necusjz

274 posts
16 tags
© 2016 - 2025 necusjz
Powered by Hexo
Theme - NexT.Mist