Linux入门教程:Ubuntu安装docker和docker-compose,容器是完全使用沙箱机


百度百科:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

我的理解:docker就是轻量化的虚拟机,不需要你在每个虚拟机里安装操作系统,做到最简单的新建、运行、修改、删除;而且容器内服务直接调用本机的操作系统API,性能更高;可以用来实现快速虚拟化、快速部署、持续集成等等,是运维同学的神器。

本人不是搞运维的,主要做开发工作。为什么学习docker呢?主要是用来快速部署开发、测试环境,比如你开发、测试时要用redis、zookeeper、activemq、分布式存储等等,在个人电脑上该怎么玩儿?搭建N台虚拟机?不光内存不够,硬盘也不够啊,而且现在内存价格很贵,加不起。我之前开了6台虚拟机做zookeeper+redis集群,本机再开个eclipse、浏览器,8G内存见底,卡得不要不要的,而且虚拟机文件就有10G以上,苦也。这时候就需要docker这种轻量化的容器大显身手了。docker化后,开一台1G内存虚拟机,开个zookeeper+redis集群+activeMQ+fastdfs轻轻松松,具体应用可以看下一篇博文《docker超快速搭建redis集群、zookeeper集群、activeMQ、fastdfs分布式存储教程》。

测试平台系统: Ubuntu 16.04。如果想在Windows上玩儿Docker,可以去官方下载docker-toolbox或者先安装一台Ubuntu虚拟机。(ps: 其实docker-toolbox底层也是用的VirtualBox软件新建一台Linux虚拟机来实现的,因为当前docker只支持Linux。建议自建虚拟机安装docker,因为toolbox默认安装的虚拟机系统是tiny-core-linux,毕竟是一个超小型的非常用的linux,而且用的ISO镜像系统,无法安装软件。下面开始正题。)

1. 修改Ubuntu APT源为国内源

备份并编辑source.list

$ sudo cp /etc/apt/source.list /etc/apt/source.list.bak
$ sudo nano /etc/apt/source.list

注释掉光盘源及官方源

注释掉以下面开头的源(注释即在行首加#)

# deb cdrom:[Ubuntu-Server 16.04.3 LTS _Xenial Xerus
# deb http://cn.archive.ubuntu.com/ubuntu/
# deb http://security.ubuntu.com/ubuntu 

添加国内源

在文件末尾加入如下内容。注意:下面的xenial仅对应Ubuntu 16.04,其他版本的Ubuntu请自行更改为对应的版本名称

# 163 注释掉源码源
deb http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse
# deb-src http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
# deb-src http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse

# aliyun 注释掉src源
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse 
# 源码
# deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

2. 安装docker-ce

安装必要环境

$ sudo apt-get update
$ sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

添加docker-ce仓库

两个安装源,二选一即可

使用阿里云docker-ce repository(版本基本同官方,速度快,推荐)

$ curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

使用官方docker-ce repository(版本最新,速度稍慢)

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

安装docker-ce

$ sudo apt-get -y update
$ sudo apt-get -y install docker-ce

# 添加当前用户到docker用户组
$ sudo usermod -aG docker `whoami`

# 检查docker
$ docker -v
Docker version 17.09.0-ce, build afdb6d4

修改镜像地址

$ sudo vim /etc/docker/daemon.json

# 输入如下内容:(此处采用docker中国官方镜像地址,若要采用aliyun等镜像仓库,请自行更改网址)
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

# 重启docker
$ sudo /etc/init.d/docker restart

安装 docker-compose

$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ docker-compose --version
docker-compose version 1.17.1, build 1719ceb

完。

相关内容