首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker之核心概念与配置

Docker之核心概念与配置

作者头像
海盗船长
发布2021-12-07 16:09:19
2240
发布2021-12-07 16:09:19
举报
文章被收录于专栏:基础知识文章基础知识文章

核心概念

1. Docker 镜像

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

2. Docker 容器

Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。 容器是从镜像创建的应用运行实例。它可以启动、开始、停止 、 删除,而这些容器都是彼此相互隔离、互不可见的。

3. Docker 仓库

Docker 仓库类似于代码仓库,是 Docker 集中存放镜像文件的场所。 根据所存储的镜像公开分享与否, Docker 仓库可以分为公开仓库( Public )和私有仓库( Private)两种形式 。

当用户创建了自己的镜像之后就可以使用 push 命令将它上传到指定的公有或者私有仓库。 这样用户下次在另外一台机器上使用该镜像时,只需要将其从仓库上 pull 下来就可以了。

安装Docker引擎

目前 Docker 支持 Docker 引 擎Docker HubDocker Cloud 等多种服务 。

  • Docker 引擎:包括支持在桌面系统或云平台安装 Docker,以及为企业提供简单安全弹性的容器集群编排和管理;
  • Docker Hub :官方提供的云托管服务,可以提供公有或私有的镜像仓库;
  • DockerCloud :官方提供的容器云服务,可以完成容器的部署与管理,可以完整地支持容器化项目,还有CI、CD功能 。
CentOS 环境下安装 Docker

首先,为了方便添加软件源,以及支持 devicemapper 存储类型,安装如下软件包:

sudo yum update
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 

添加 Docker 稳定版本的 yum 软件源:

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

之后更新 yum 软件源缓存,并安装 Docker:

sudo yum update
sudo yum install -y docker-ce

最后,确认 Docker 服务启动正常 :

sudo systernctl start docker

配置 Docker 服务

为了避免每次使用 Docker 命令时都需要切换到特权身份,可以将当前用户加入安装中

  • 自动创建的 docker 用户组,代码如下:
sudo usermod -aG docker USER NAME
  • 用户更新组信息,退出并重新登录后即可生效 。

Docker 服务启动时实际上是调用了 dockerd 命令,支持多种启动参数 。 因此,用户可以直接通过执行 dockerd 命令来启动 Docker 服务,如下面的命令启动 Docker 服务,开启Debug 模式,并监听在本地的 2376 端口:

dockerd -D -H tcp://127.0.0.1:2376

这些选项可以写入/etc/docker/路径下的 daemon.json 文件中,由 dockerd 服务启动时读取:

{
	"debug": true,
	"hosts":[" tcp://127.0.0 . 1:2376 ”]
}

当然,操作系统也对 Docker 服务进行了封装,以使用 Upstart 来管理启动服务的Ubuntu 系统为例, Docker 服务的默认配置文件为 Ietc/default/docker ,可以通过修改其中的DOCKER OPTS 来修改服务启动的参数,例如让 Docker 服务开启网络 2375 端口的监昕:

DOCKER_OPTS="$DOCKER_OPTS -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock”

修改之后,通过 service 命令来重启 Docker 服务:

sudo service docker restart

对于 CentOS 、 RedHat 等系统,服务通过 systemd 来管理,配置文件路径为 /etc/systemd/system/docker.service.d/docker.conf。 更新配置后需要通过 systemctl 命令来管理 Docker服务:

sudo systemctl daemon-reload
sudo systemctl start docker.service

此外,如果服务工作不正常,可以通过查看 Docker 服务的日志信息来确定问题,例如在 RedHat 系统上日志文件可能为 /var/log/messages ,在 Ubuntu 或 CentOS 系统上可以执行命令 journalctl -u docker.service。 每次重启 Docker 服务后,可以通过查看 Docker 信息( docker info 命令),确保服务已经正常运行。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-10-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 核心概念
    • 1. Docker 镜像
      • 2. Docker 容器
        • 3. Docker 仓库
        • 安装Docker引擎
          • CentOS 环境下安装 Docker
          • 配置 Docker 服务
          相关产品与服务
          容器镜像服务
          容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档