Docker 新手入门:介绍及安装

2019-06-25 4073点热度 2条评论

在 Linux 环境下部署生产或测试环境往往是一件让人头疼的事,如果直接用系统的包管理器安装,软件的版本可能会很旧,如果自己手动编译安装,又会非常的麻烦,性能不好的前提下又非常的耗时间,还有各种依赖项需要解决。

如何能在 Linux 环境下,省时省力的部署生产或测试环境呢,而且最好还可以让不同机器上的环境都一致,在万能的 Linux 上面,当然是可以的啦。

目前最好的解决方案是 Docker,鉴于很多小伙伴不会使用 Docker,我决定花几篇文章给新入门的小伙伴大致的讲一下 Docker 如何使用。

Docker 介绍及安装

Docker 简介

Docker 简单的来说,是一个类似虚拟机的东西,只不过它在 Linux 下使用的不是虚拟化技术,而是 Linux 内核的资源分离机制,来创建独立的容器。

每个容器可以看作是一个单独的系统环境,但是这些容器都会共用宿主系统的 Linux 内核。容器可以由 Docker 镜像创建,这些镜像包含了除内核以外,系统运行所需的文件。这可以让你在容器里运行不同的系统,而不单单是宿主系统,而且由于镜像只共享宿主系统的内核,这可以让容器在不同的宿主系统上都是相同的。

Docker 镜像不止有 Linux 系统,还有一些软件环境,比如:Nginx、MySQL、WordPress 这些,可以显著减轻在部署生产或测试环境的成本。

大家如果想要详细了解 Docker,可以去看这篇文章:https://juejin.im/post/5b260ec26fb9a00e8e4b031a

Docker 安装及配置

Docker 的安装十分简单,官方提供了很多发行版的软件仓库,支持 x86_64、armhf 以及 arm64 平台,只需要添加软件源,使用系统的包管理器进行安装即可。

下面以 Debian 9 为例介绍如何安装,步骤参考官方教程,其他系统可参考:https://docs.docker.com/install/

如果你之前安装过 Docker,请先把它们卸载:sudo apt-get remove docker docker-engine docker.io containerd runc

更新存储库索引:sudo apt-get update

安装软件包以允许apt通过 HTTPS 使用存储库:sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

添加 Docker 的官方 GPG 密钥:curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

为了确保安全性,你可以选择验证密钥:sudo apt-key fingerprint 0EBFCD88

添加软件仓库,如果你的平台不是x86_64,你可能需要将arch=后面的字符串改成armhfarm64sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

更新存储库索引:sudo apt-get update

安装 Docker:sudo apt-get install docker-ce docker-ce-cli containerd.io

Docker 的镜像需要从网络进行拉取,如果你的网络不是很好,推荐你使用国内的镜像仓库。

编辑 Docker 配置文件:sudo nano /etc/docker/daemon.json

这个文件默认是空的(不存在),将文件内容改为下方内容即可。

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

我使用的是中科大的镜像,你也可以使用其他的,比如阿里云。

修改后重启 Docker 使配置生效:systemctl restart docker

测试 Docker 是否正常运行:sudo docker run --rm hello-world

如果出现类似下图的输出则表示运行正常

Docker Hello World


好了,这篇教程教大家如何安装 Docker,下篇教程会教大家基础的容器使用方法。

如果有任何的不懂,欢迎加入 QQ 群小山进行探讨。

微信公众号二维码

微信扫描二维码关注我们

如果觉得文章有帮助到你,可以点击下方的打赏按钮赞助下服务器费用。

小山

一个什么都不会但要装作很厉害的人

文章评论

  • LOGI

    沙发 :cool:

    2019-07-02
    • 月氏

      @LOGI 学习了

      2019-07-27
  • 此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据