Docker 简介与安装

Github: https://github.com/yingzk/MyDocker

1. Docker 简介

Docker是一个开源(Github地址: https://github.com/docker)的容器引擎,它有助于更快的交付应用,Docker可将应用程序和基础环境层隔离,并且能将基础设施当作程序一样管理。使用Docker,可以更快的打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。

2. Docker的架构

其中 :

  • Docker daemon (Docker守护进程)Docker daemon是一个运行在宿主机(DOCKER_HOST)的后台进程,可以通过Docker的客户端与其进行通信
  • Client (Docker客户端) Docker客户端是Docker的用户界面,它可以接受用户命令和配置标识,并与Docker daemon通信
  • Image(Docker镜像) Docker镜像是一个只读模板,包含创建Docker容器的说明(like 系统安装光盘)
  • Container(容器) 容器是镜像的可以运行实例,镜像和容器的关系类似面向对象种的类和对象的关系。可以通过Docker API或 CLI命令来 启停、移动、删除容器
  • Registry(存储分发镜像) Docker Registry是一个集中存储与分发镜像的服务,构建完Docker镜像后,就可以在当前宿主机上运行,如果想在其它机器运行这个镜像就需要手动复制。此时可以借助Docker Registry来避免镜像的手动复制 Docker Registry 可分为公有私有 默认的Docker Registry为官方的 Docker Hub

3. Docker的安装

本文采用的系统环境

  • VMware虚拟机
  • CentOS-7-x86_64-DVD-1511.iso
  • 1G 内存 1 CPU

Docker 官方建议把Docker安装到Linux上,当然Windows和Mac OS上也可以安装

本文将演示如何在Linux上安装Docker

其他系统可以参考官方文档: https://docs.docker.com/install/

3.1. 移除非官方软件包

Red Hat操作系统包含了一个旧版本的Docker软件包,名称为”docker“(新版本是”docker-engine“).,如果系统上存在该软件包,需执行以下命令执行移除

sudo yum -y remove docker

执行该命令只会移除旧版本的Docker, /var/lib/docker目录中的内容不会被删除,因此,旧版本Docker所创建的镜像、容器、卷等都会保留下来。

3.2. 设置Yum源

Docker可以通过 yum, rpm, shell来进行安装,这里使用yum来安装

  1. 安装yum-utils 这样就能使用yum-config-manager工具来设置yum源sudo yum install -y yum-utils
  2. 执行下面命令添加Docker的yum源tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF

3.3. 安装Docker

yum -y install docker-engine

[可选]启用测试仓库。测试仓库包含在docker.repo文件中,但默认情况下是禁用的。下面命令可以启用测试仓库

sudo yum-config-manager --enable docker-testing

在生产环境种,可能需要制定Docker的版本,执行以下命令可以列出可用的docker版本

yum list docker-engine.x86_64 --showduplicates | sort -r

然后你就会看到下图

  • 第一列是软件包名称
  • 第二列是版本号
  • 第三列是仓库名称

列出Docker版本后,可以使用下面命令安装制定版本的Docker

sudo yum -y install docker-engine-<VERSION_STRING>
eg: sudo yum -y install docker-engine-1.13.0

3.4. 启动Docker

sudo systemctl start docker

执行下面命令,查看是否安装正确

sudo docker run hello-world

类似如上的结果说明安装正确

3.5. 查看Docker的版本

docker version

可以看到客户端与服务端的一些信息

3.6. Docker的卸载

卸载Docker软件包

sudo yum -y remove docker-engine

如需删除已经存在的镜像、容器、卷以及自定义的配置文件,可以执行下面的命令

sudo rm -rf /var/lib/docker

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2717
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2172
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

4708
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

6838
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3145
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2536
来自专栏杨龙飞前端

scrollto 到指定位置

2514
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4868
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4025
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2577

扫码关注云+社区