Docker入门 - 1.环境搭建

概念

Docker是开发人员和系统管理员使用容器 开发部署运行 应用程序的平台。使用Linux容器部署应用程序称为容器化(containerization)。容器并不是一个新的概念,但是可以用于轻松部署应用程序是Docker的主要功能。

容器化越来越受欢迎,因为容器:

  • 灵活:即使是最复杂的应用也可以containerized。
  • 轻量级:容器使用并共享主机内核。
  • 可互换:可以即时部署更新和升级。
  • 便携式:可以在本地构建,部署到云,并在任何地方运行。
  • 可扩展:可以增加并自动分发容器副本。
  • 可堆叠:可以垂直和即时堆叠服务。

安装

本文指docker社区版 Docker CE,安装环境为CentOS7.1

OS要求

  1. 要安装Docker CE,您需要CentOS 7的稳定版本。
  2. centos-extras库必须启用。默认情况下,此存储库已启用,但如果已将其禁用,则需要 重新启用它。
  3. 建议使用docker存储驱动overlay2

卸载旧版本

较旧版本的Docker被称为dockerdocker-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 install docker (CentOS) (不推荐)
这样可能会下载的是旧版的docker(v1.13.1) ,其实也可以满足大部分需求。

Docker从1.13.x版本开始,版本分为企业版EE和社区版CE,版本号也改为按照时间线来发布,比如17.03就是2017年3月,有点类似于ubuntu的版本发布方式。

按照官方文档推荐安装

下面都是在线安装,离线安装请参考官方文档

一、设置仓库

  1. 安装依赖包
$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
  1. 设置稳定版仓库
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  1. 可选的,启用最新版edgetest版仓库
$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test

启用后也可以关闭

$ sudo yum-config-manager --disable docker-ce-edge  

二、安装 DOCKER CE
安装最新版docker-ce

$ sudo yum install docker-ce

如果想安装指定版本,可以查看所有版本的docker-ce然后指定安装

$ sudo yum list docker-ce --showduplicates | sort -r  
$ sudo yum install docker-ce-

开启docker服务

$ sudo systemctl start docker

使用

下载好之后可以测试,下载hello-world测试一下
docker run hello-world
docker run是docker的运行命令,后面是容器名称,如果本地没有该命令,则docker服务会从docker仓库下载该容器,然后运行。

docker info显示 Docker 系统信息,包括镜像和容器数

常见错误

  1. docker info时最后显示WARNING: bridge-nf-call-iptables is disabled

解决方法:

vim /etc/sysctl.conf

添加以下内容

net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

最后执行

sysctl -p

参考链接

官方文档

你可能感兴趣的:(Docker入门 - 1.环境搭建)