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

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

如有侵权,请联系 zhuanlan_guanli@qq.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术栈

Docker 核心概念、安装、端口映射及常用操作命令,详细到令人发指。

除了可以在Docker Hub上搜索镜像外,还可以通过命令 docker search xxx 进行搜索,下面以 mysql 为例:

932
来自专栏测试开发架构之路

Docker学习以及镜像制作流程

2023
来自专栏北京马哥教育

docker容器技术系列六:docker容器的数据管理

刚接触docker时总在思考两个问题: 1、docker容器如何实现将数据持久化呢?比如一个httpd容器中用户上传的文件或者访问日志等! 2、如何实现便捷的更...

2508
来自专栏有困难要上,没有困难创造困难也要上!

使用docker-compose创建spark集群

722
来自专栏闵开慧

在Ubuntu中安装Hadoop

在装Hadoop之前首先需要:  1.java1.6.x 最好是sun的,1.5.x也可以  2.ssh 安装ssh $ sudo apt-get insta...

31410
来自专栏butterfly100

Chris Richardson微服务翻译:微服务架构中的服务发现

Chris Richardson 微服务系列翻译全7篇链接: 微服务介绍 构建微服务之使用API网关 构建微服务之微服务架构的进程通讯 微服务架构中的服务发现(...

3369
来自专栏张善友的专栏

.NET 应用架构电子书中文版

《.NET 微服务:容器化 .NET 应用架构指南》 本书主要介绍了基于容器和微服务的应用架构和设计原则,以及基于 .NET Core 和 Docker 容器的...

3866
来自专栏Java 源码分析

Docker 入门

2106
来自专栏老司机的技术博客

docker实战入门(4)基本操作

查看docker版本 docker --version 查看docker详细信息 docker info 运行docker容器 docker run hell...

35612
来自专栏向上的小草

Docker常用命令记录

-t 选项是让docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上

1320

扫描关注云+社区