这篇文章我们来详细介绍如何在谷歌云服务器(GCP)上运行使用Docker。 文末有本文对应的视频教程,不喜欢读文字的朋友可以直接观看视频教程。
首先我们几句话聊下Docker。Docker是时下比较流行的容器化技术的代表,Docker 是一个开源的应用容器引擎。实际Docker技术自2013年以来都在逐步流行,只是近些年随着互联网技术从传统架构向云架构到容器化、微服务化的过度过程,Docker技术也随之愈发的流行。
Docker作为容器化技术的代表,具有轻量、安全、标准、可伸缩、即抛等诸多优秀的特点。关于Docker的知识还有很多,这里不再展开,有兴趣的同学可以自行了解学习。
闲话至此,下面我们来为大家介绍如何在谷歌云(GCP)服务器运行Docker。谷歌云为每个新用户提供了300美金的为期一年的试用额度,通通各种方式基本基本可以无限重置,是众多羊毛党乐此不疲的项目,如果有新手同学不熟悉或者感兴趣,后期我会制作一期详细的视频教程。
谷歌云使用Docker有两种方式,原生Linux安装运行Docker和使用Container-Optimized OS
。
1. 原生Linux运行Docker
最常用的方式就是在Computer-Engine
中创建VM实例并安装诸如CentOS等常见的发行版Linux系统,然后在原生Linux系统中按照常规方式安装Docker,此方式简单易行,直接参考Docker官方文档即可,新手同学可以参考 CentOS 8安装Docker 这篇的文档,下面为不喜欢读文字的观众老爷们送上视频教程。
下面为国内无法访问YouTube的朋友放上B站视频。
2. Container-Optimized OS
本文的重点就是为大家介绍在谷歌云(GCP)上这种更妥帖的Docker运行使用方式。
Container-Optimized OS
是适用于 Compute Engine
虚拟机的操作系统映像,专为运行 Docker 容器而优化。Container-Optimized OS
由 Google 维护,基于 Chromium OS
开放源代码项目。一句话概括,Container-Optimized OS
就是Google为运行Docker而定制优化的Linux操作系统,以让Docker使用更加简洁高效。
2.1 系统安装
要使用Container-Optimized OS
只需要在新建VM实例时,选择启动磁盘的时候选择Container-Optimized OS
系统即可,过程如下图所示:
VM实例默认已经为我们安装好了最新版的Docker并做好了参数调优配置,实例创建完成之后,就可以直接在系统中查看和使用Docker,可以通过以下指令进行简单测试。
# 查看docker版本信息
docker --version
# 运行hello-world实例程序
docker run hello-world
2.2 安装扩展应用
Container-Optimized OS
默认已经帮我们安装了少量的常用应用,如 git/vim/ssh
等,但很多情况下这不足以满足我们的个性化需求,如运维人员喜欢使用 htop
来检测系统资源使用情况,此时就需要我们手动安装 htop
。
作为定制化系统,Container-Optimized OS
并不包含程序包管理器,但我们可以使用预先安装的CoreOS
工具箱(/usr/bin/toolbox
)实用程序来安装所需的其他任何程序包或工具。
首次在命令行执行 toolbox
命令,可以看到系统会首先去拉取toolbox
镜像,然后创建一个特殊的toolbox
容器。toolbox
容器内部为了提供了一个类似于 Debian shell
的环境,我们可以在toolbox
容器肆意妄为了,比如通过下面的命令安装 htop
。
# 安装htop
apt-get update && apt-get install -y htop
# 运行htop
htop
除了以上方式我们还可以使用简写表示法来调用工具箱中的工具。如:
toolbox apt-get update && apt-get install -y htop
toolbox htop
2.3 数据共享
toolbox
是一个特殊定制容器,通过 docker ps -a
看不到其信息,容器退出之后其资源也不会被释放,再次进入容器其资源依然可以正常访问。如果要共享数据,我们也不能使用普通容器一样挂载卷。
默认情况下,toolbox
容器与宿主机存在以下路径映射关系,/ : /media/root
。宿主机的更路径会默认映射到toolbox
容器的 /media/root
目录。借由此映射关系我们就可以在toolbox
与宿主机之间共享数据。
推荐大家按照视频讲解逐步操作,中间遇到任何问题可以在文末留言。完整视频内容可访问 YouTube / B站 查看,也欢迎加入 TG群 讨论交流。