技术: 深耕 Docker 生态圈(一){总起:安装环境}

我渐渐由一个 Cpper, 转变成一个 Gopher。无奈这个世界节奏越来越快,节约时间提高效率势在必行。

简述

别人都已经开始出轨了,我们有的人还没有上轨;可悲。

别误会,Docker 生态圈里出了个 Kubernetes 也不是啥大事儿;意料之中。

  • 前几天的一篇文章中 《略懂: Docker 镜像与容器》 说了 Dokcer是一门值得掌握的技术
  • 最近新买了 mbp 13.3 顶配,想把以后开发环境整合到一起
  • 作为 gopher, 不熟悉 docker 不是很可笑么?
  • docker 还在发展,此时不上船,更待何时?

本系列作为深耕的第一个系列,大概会写10篇左右;以此玩透 docker (顺便玩 golang)

由于 linux 对于 docker 的支持最好,所以这里我用的是 aliyun 的 vps, Ubuntu 17。

实践

Ubuntu平台

理论以前已经说过了一部分,没必要重复,等玩熟悉了再去研究其内部真实构成。(哪些层,哪些只读,哪些可写等等)

本篇只讲述 Ubuntu, Mac环境下的安装问题。

实验环境: (在 实现环境,即 Ubuntu 上玩透彻了,再搬到 macOs 上)

主要分为 CE 和 EE,即 社区版和企业版。社区办足够了:

Container engine and built in orchestration, networking, security

具体可以参考这篇文章 Get Docker CE for Ubuntu,下面不废话,直接上代码:

先设置 docker 仓库:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
##
$ sudo apt-get update

## 安装工具,让 apt 支持 https
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common

## Add Docker’s official GPG key (认可 docker仓库 往我们本地写)
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

## 添加 apt 源
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

如果觉得这个源太慢,可以借助国内的镜像:

1
2
3
4
$ sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"

下面安装 docker 引擎:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 先更新一下包
$ sudo apt-get update

# 总是安装最新的
$ sudo apt-get install docker-ce

# 安装指定版本
$ apt-cache madison docker-ce ##先查看一下有哪些版本
$ sudo apt-get install docker-ce=<VERSION> ## 指定安装具体的版本

## 验证安装是否成功
$ sudo docker run hello-world

## 查看 docker 版本(也可以用 docker info)
$ docker version

好了全部卸载了,重新安装一遍。(仓库不用重新添加了)

测试一下:

可以看到先是下载了一个 hello-world 镜像,然后在容器里运行它,打印了一些信息,最后退出了

额外的信息:

  • 旧版本的 docker 叫做: docker-engine 或者 docker.io,如果以前有安装过,最好先卸载
  • The Docker CE package is now called docker-ce
  • 完全卸载 : sudo apt-get purge docker-cesudo rm -rf /var/lib/docker
  • 可以安装每月更新的分支 edge 或者 test
  • 非 root 用户也可以操作&管理 docker 用户,需要设置 docker 组,可以参考下一篇文章

官方为了简化 ubuntu 的安装过程,也可以不使用 apt 安装引擎,而直接使用脚本:

1
2
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun

macOs 平台

在 Windows 和 Mac 中,我们可以通过 boot2docker 来运行 docker

有些人会用到 Docker Toolbox 可能是因为他们的 macOS 版本过低。

这里的安装可以使用 brew cask install docker,但是还是推荐你使用安装包安装。(拖拽安装,然后运行,在顶部的菜单栏可以找到它)

这里的版本 Win/macOS 默认安装 docker-ce 的同时也安装 docker-compose 和 docker-machine。

这里的 docker info 以后再慢慢研究吧。(这里有个Docker Root Dir: /var/lib/docker

此外还可以装一个 Kitematic 代替一切手工 docker 命令: (个人觉得没有必要,所以没有安装; 习惯命令行)

偏好设置里面也有一些可以设置代理,调整磁盘, cpus/mems 的选项。

来跑个 nginx 试试。(docker run 发现本地不存在某个库的话会自动下载下来)

--p 参数指定了本机的80端口映射到容器的80端口, --name指定容器运行后的名字,相当于进程的名字。
最后不指定 nginx 的版本,默认就是最新版本。

配置镜像: docker 配置

然后停止容器,删除镜像吧:

参考

下面列举我学习过程所看过的,国内的有关 docker 的所有资料: (整个系列都围绕这些展开)
(当然他们中水平有高有低,值得推荐的书,章节,文章,我就写出来;觉得写的不好的,我就不说了).

文章目录
  1. 1. 简述
  2. 2. 实践
    1. 2.1. Ubuntu平台
    2. 2.2. macOs 平台
  3. 3. 参考
|