Docker入门

Docker简介

  • Docker 是运用 Go 言语 举行开辟完成,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等手艺,对历程举行封装断绝,属于 操纵体系层面的假造化手艺。
  • 断绝的历程自力于宿主和别的的断绝的历程。
  • Docker 在容器的基本上,举行了进一步的封装,从文件体系、收集互联到历程断绝等
  • 长处是没有举行硬件假造。因而容器要比传统假造机越发轻巧。

Docker的上风

  • 高效的运用体系资源
  • 疾速的启动时候
  • 一致的运转环境
  • 延续托付和布置:对开辟和运维(DevOps)职员来讲,最愿望的就是一次竖立或设置,能够在恣意处所平常运转。

运用 Docker 能够经由过程定制运用镜像来完成延续集成、延续托付、布置。开辟职员能够经由过程 Dockerfile 来举行镜像构建,并连系 延续集成(Continuous Integration) 体系举行集成测试,而运维职员则能够直接在临盆环境中疾速布置该镜像,以至连系 延续布置(Continuous Delivery/Deployment) 体系举行自动布置。

  • Docker 确保了实行环境的一致性,使得运用的迁徙越发轻易
  • Docker 运用的分层存储以及镜像的手艺,使得运用重复部分的复用越发轻易,也使得运用的保护更新越发简朴,基于基本镜像进一步扩大镜像也变得异常简朴。社区硬朗,一堆开源项目团队保护一批高质量的官方现象。
对照图
特征容器假造机
启动秒级分钟级
硬盘运用MBGB
机能靠近原生较弱
体系支撑量单机支撑上千个容器平常几十个

相干基本观点

Docker 包括三个基本观点

  • 镜像(Image)
  • 容器(Container)

    • 容器是镜像运转时的实体。容器能够被竖立、启动、住手、删除、停息等。
    • 容器的本质是历程,但与直接在宿主实行的历程差别,容器历程运转于属于本身的自力的 定名空间。因而容器能够具有本身的 root 文件体系、本身的收集设置、本身的历程空间,以至本身的用户 ID 空间。容器内的历程是运转在一个断绝的环境里,运用起来,就好像是在一个自力于宿主的体系下操纵一样。
  • 堆栈(Repository)

    • 一个 Docker Registry 中能够包括多个堆栈(Repository);每一个堆栈能够包括多个标签(Tag);每一个标签对应一个镜像。

三个观点包括Docker的生命周期

装置(CentOS)

  • 卸载旧版本
$ 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 装置
$sudo yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2
  • 国内收集题目,强烈建议运用国内源
$ sudo yum-config-manager \
    --add-repo \
    https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
# 官方源
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  • 装置 Docker CE
sudo yum makecache fast
sudo yum install docker-ce
  • 运用剧本自动装置
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
  • 启动 Docker CE
$ sudo systemctl enable docker
$ sudo systemctl start docker
  • 竖立 docker 用户组

    • 竖立 docker 组:
    sudo groupadd docker
    • 将当前用户到场 docker 组:
    sudo usermod -aG docker $USER
  • 测试Docker是不是装置准确
$ docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
d1725b59e92d: Pull complete
Digest: sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
  • 镜像加速器

    • Ubuntu 14.04、Debian 7 Wheezy 设置
DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"
  • 从新启动效劳。
$ sudo service docker restart
  • Ubuntu 16.04+、Debian 8+、CentOS 7 在 /etc/docker/daemon.json 中写入以下内容(假如文件不存在请新建该文件)
{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ]
}
  • 从新启动效劳。
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
  • 增加内核参数

    • CentOS 运用 Docker CE 看到下面的这些正告信息:
      WARNING: bridge-nf-call-iptables is disabled
      WARNING: bridge-nf-call-ip6tables is disabled

解决方法:内核设置参数以启用这些功用。

  sudo tee -a /etc/sysctl.conf <<-EOF
  net.bridge.bridge-nf-call-ip6tables = 1
  net.bridge.bridge-nf-call-iptables = 1
  EOF

然后从新加载sysctl.conf

  sudo sysctl -p
    原文作者:师宁丶
    原文地址: https://segmentfault.com/a/1190000019125492
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞