Docker系列:第一讲.Docker简介与安装

发布时间:2020-06-30 02:02:40 作者:好笔记运维
来源:网络 阅读:1117

什么是 Docker?

Docker的英文翻译是“搬运工”的意思,他搬运的东西就是我们常说的集装箱Container,Container 里面装的是任意类型的 App,我们的开发人员可以通过 Docker 将App 变成一种标准化的可移植的自管理的组件,我们可以在任何主流的操作系统中开发、调试和运行。
Docker系列:第一讲.Docker简介与安装

Docker和虚拟机有什么区别?

从概念上来看 Docker 和我们传统的虚拟机比较类似,只是更加轻量级,更加方便使,Docker 和虚拟机最主要的区别有一下几点:
Docker系列:第一讲.Docker简介与安装

为啥要用容器?

应用容器是个啥样子呢,一个做好的应用容器长得就像一个装好了一组特定应用的虚拟机一样,比如我现在想用 Redis,那我就找个装好了 Redis 的容器就可以了,然后运行起来,我就能直接使用了。

那为什么不能直接安装一个 Redis 呢?肯定是可行的,但是有的时候根据每个人电脑的不同,在安装的时候可能会报出各种各样的错误,万一你的机器中毒了,你的电脑挂了,你所有的服务都需要重新安装。但是有了 Docker 或者说有了容器就不一样了,你就相当于有了一个可以运行起来的虚拟机,只要你能运行容器,Redis 的配置就省了。而且如果你想换个电脑,没问题,很简单,直接把容器”端过来”就可以使用容器里面的服务了。

Docker 架构

Docker 使用 C/S(客户端/服务器)体系的架构,Docker 客户端与 Docker 守护进程通信,Docker 守护进程负责构建,运行和分发 Docker 容器。Docker 客户端和守护进程可以在同一个系统上运行,也可以将 Docker 客户端连接到远程 Docker 守护进程。Docker 客户端和守护进程使用 REST API 通过UNIX套接字或网络接口进行通信。
Docker系列:第一讲.Docker简介与安装

Docker安装

直接前往官方文档选择合适的平台安装即可,比如我们这里想要在centos系统上安装 Docker,这前往地址https://docs.docker.com/install/linux/docker-ce/centos/根据提示安装即可。

1、安装依赖软件包:

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

2、添加软件仓库,我们这里使用稳定版 Docker,执行下面命令添加 yum 仓库地址:

$ 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

3、然后直接安装即可:

$ sudo yum install docker-ce

4、如果要安装指定的版本,可以使用 yum list 列出可用的版本:

$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64            18.03.0.ce-1.el7.centos             docker-ce-stable

5、比如这里可以安装18.03.0.ce版本:

$ sudo yum install docker-ce-18.03.0.ce

6、要启动 Docker 也非常简单:

$ sudo systemctl enable docker
$ sudo systemctl start docker

7、另外一种安装方式是可以直接下载指定的软件包直接安装即可,前往地址: https://download.docker.com/linux/centos/7/x86_64/stable/Packages/找到合适的.rpm包下载,然后安装即可:

$ sudo yum install /path/to/package.rpm

Docker 加速器

国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
Docker 官方提供的中国 registry mirror https://registry.docker-cn.com
七牛云加速器 https://reg-mirror.qiniu.com/

当配置某一个加速器地址之后,若发现拉取不到镜像,请切换到另一个加速器地址。国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务。

对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ]
}

注意:一定要保证该文件符合 json 规范,否则 Docker 将不能启动。

重新启动服务。

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

测试 Docker 是否安装正确

$ docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
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://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

若能正常输出以上信息,则说明安装成功。

添加内核参数

默认配置下,如果在 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
推荐阅读:
  1. docker容器中镜像的操作方法
  2. docker用go语言的原因是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docker k8s 容器云

上一篇:第17课 python 模块

下一篇:云服务器如何快速搭建网站环境?

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》