Ubuntu16.04下安装Docker与docker-compose

什么是Docker

Docker 是一个开源的应用容器引擎,基于Go语言并遵从 Apache2.0 协议开源

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低


Docker的应用场景

Web 应用的自动化打包和发布。

自动化测试和持续集成、发布。

在服务型环境中部署和调整数据库或其他的后台应用。

从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境


Docker的优点

Docker 是一个用于开发,交付和运行应用程序的开放平台借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用

Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟


Docker的基本概念

1. 镜像

操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而Docker镜像

(Image),就相当于是一个 root 文件系统。Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资

源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数

据,其内容在构建之后也不会被改变。

2. 容器

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的  和 实例 一样,镜像是静态的定义,容器是镜像

运行时的实体。容器可以被创建、启动、停止、删除、暂停等。容器的实质是进程,但与直接在宿主执行的进程不同,容器进

程运行于属于自己的独立的 命名空间。因此容器可以拥有自己的 root 文件系统、自己的网络配置、自己的进程空间,甚至自

己的用户 ID 空间。

3. 仓库

镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的

存储、分发镜像的服务,Docker Registry 就是这样的服务。一个 Docker Registry 中可以包含多个 仓库Repository);

每个仓库可以包含多个 标签Tag);每个标签对应一个镜像。通常,一个仓库会包含同一个软件不同版本的镜像,而标签就

常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标

签,将以 latest 作为默认标签。


Ubuntu安装Docker

# 警告:切勿在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker.

卸载旧版本

旧版本的 Docker 称为 docker 或者 docker-engine,使用以下命令卸载旧版本:

$ sudo apt-get remove docker docker-engine docker.io

使用 apt 安装

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书

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

鉴于国内网络问题, 强烈建议使用国内源, 官方源请在注释中, 为了确认所下载软件包的合法性,需要添加软件源的GPG密钥

$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 官方源 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

向 source.list 中添加 Docker 软件源

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

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

安装Docker CE

更新 apt 软件包缓存,并安装 docker-ce

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

安装成功,查看docker版本

$ docker -v
Docker version 19.03.5, build 633a0ea838

启动 Docker CE

$ sudo systemctl enable docker
$ sudo systemctl start docker

建立 docker 用户组

默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的

Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加

入 docker 用户组

建立docker组:                 $ sudo groupadd docker
将当前用户加入docker组:        $ sudo usermod -aG docker $USER

设置镜像仓库源

默认的镜像仓库是国外的,拉取镜像的速度很慢,所以为了方便镜像获取,可以更改镜像源,方法是添加一个配置文件

$ sudo vi /etc/docker/daemon.json

添加信息如下: 

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

重启容器服务,生效

$ sudo systemctl daemon-reload 
$ sudo systemctl restart docker

查看镜像源是否更改

$ docker info


Ubuntu安装Docker-compose

Compose 简介

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的

所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务

二进制包安装compose

使用如下链接下载安装

$ sudo curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

1.24.0为compose的版本, 可以自主修改与选择

如果上面的命令执行不成功也可以执行(注意:仅限系统为Linux-x86_64的用户)

$ sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose

安装成功修改二进制权限, 添加执行权限x

$ sudo chmod +x /usr/local/bin/docker-compose

查看docker-compose版本

$ docker-compose -v


docker与docker-compose的其他安装方式

使用脚本自动安装docker-ce

在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,Ubuntu 系统上可以使用这套脚本安装,

另外可以通过 --mirror 选项使用国内源进行安装:

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
# $ sudo sh get-docker.sh --mirror AzureChinaCloud

执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的稳定(stable)版本安装在系统中

pip安装compose

注: x86_64 架构的 Linux 建议按照上边的方法下载二进制包进行安装,如果您计算机的架构是 ARM (例如,树莓派),再使用

pip 安装。这种方式是将 Compose 当作一个 Python 应用来从 pip 源中安装

执行安装命令:

$ sudo pip install -U docker-compose

可以看到类似如下输出,说明安装成功

Collecting docker-compose
  Downloading docker-compose-1.17.1.tar.gz (149kB): 149kB downloaded
...
Successfully installed docker-compose cached-property requests texttable websocket-client docker-py dockerpty six enum34 backports.ssl-match-hostname ipaddress

参考资料:Docker-从入门到实践      Docker-菜鸟教程      张砚程的Docker

发布了59 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43507959/article/details/103639495