服务器部署 Docker

docker comic

介绍

Docker 是一个开放源代码软件项目,让应用程序部署在软件货柜下的工作可以自动化进行,借此在 Linux 操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。

👆 维基百科解释。好吧,讲人话的话,(我觉得)Docker 就是一个沙盒,类似于虚拟机,能够使用包装好的镜像直接运行某些软件,以避免 Linux 中繁琐的环境部署问题。

借助 Docker,我们可以「几乎一键式」地在 VPS 上部署 LNMP、Python、Node.js 等开发环境,以及小飞机、ownCloud、WordPress 等软件,从而不用把精力浪费在解决冲突和配置问题上,关注于开发和使用本身,并方便地备份和迁移自己的开发环境。

Docker 的三个概念1

  1. 镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向 Docker 引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个 Ubuntu 镜像就是一个包含 Ubuntu 操作系统环境的模板,同理在该镜像上装上 Apache 软件,就可以称为 Apache 镜像。
  2. 容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的 Linux 系统环境(包括 root 权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker 引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker 在镜像的上层创建一个可写层,镜像本身不变。
  3. 仓库(Repository):类似于代码仓库,这里是镜像仓库,是 Docker 用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用 tag 进行区分,比如 Ubuntu 仓库存放有多个版本(12.04、14.04 等)的 Ubuntu 镜像。

其实我也不怎么懂这个被誉为「未来的趋势」的强大平台,反正 🐮 🍺 就是了。等以后真正了解了它,或许会写写自己的体会。

安装

官方的教程 Get Docker CE for Ubuntu | Docker Documentation 非常简明易懂,照做就是了。这里安装的 Docker CE 是 Community Edition(社区版) 的意思,是完全免费的,相对的 EE( Enterprise Edition 企业版)则提供了一些收费的高级特性。

这里摘录最简全新安装命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 更新 apt 包索引
sudo apt-get update
# 使 apt 可以通过 HTTPS 使用存储库(repository)
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
# 添加 Docker 官方的 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 设置 stable 存储库
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
# 安装 Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
# Hello World!
sudo docker run hello-world

参考链接

-------------本文结束    感谢您的阅读-------------
0%