Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
$[timeformat('2019-04-09T11:55:44+08:00')]
#Docker#Linux

Docker 的特点

Docker架构如下:

2

  • Docker 镜像(Images):Docker 镜像是用于创建 Docker 容器的模板。
  • Docker 容器(Container):容器是独立运行的一个或一组应用。
  • Docker 客户端(Client):Docker 客户端通过命令行或者其他工具使用 Docker API 与 Docker 的守护进程通信。
  • Docker 主机(Host):一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
  • Docker 仓库(Registry):Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。
  • Docker Machine:Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

虚拟机是大家常用来模拟完整计算机的工具,Docker和虚拟机类似,但又有一些不同:

1

虚拟机是一个运行在宿主机之上的完整的操作系统,它运行自身操作系统会占用较多的CPU、内存、硬盘资源。Docker不同于虚拟机,只包含应用程序以及依赖库,基于libcontainer(用于管理容器)运行在宿主机上,并处于一个隔离的环境中,这使得Docker更加轻量高效,启动容器只需几秒钟之内完成。由于Docker轻量、资源占用少,使得Docker可以轻易的应用到构建标准化的应用中。但Docker并不是全能的,比如Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用;隔离效果不如VM,共享宿主机操作系统的一些基础库等;网络配置功能相对简单,主要以桥接方式为主;查看日志也不够方便灵活。

Docker 安装

MacOS Docker安装

使用 Homebrew 安装

Homebrew 的 Cask 已经支持 Docker for Mac,因此可以很方便的使用 Homebrew Cask 来进行安装:

brew cask install docker

在载入 Docker app 后,点击 Next,会询问你的 macOS 登陆密码,输入即可。

手动下载安装

https://download.docker.com/mac/static/

一般选择static版就可以。

Debian Docker安装

Docker旧版本被称为docker,docker.io或docker-engine,需先卸载:

sudo apt-get remove docker docker-engine docker.io containerd runc

通常有通过设置存储库、下载deb包、脚本三种安装方法,这里记录脚本安装。

下载便捷脚本并运行:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

如果您想将Docker用作非root用户,您现在应该考虑将您的用户添加到“docker”组,注销并重新登录才能生效。例如:

sudo groupadd docker
sudo usermod -aG docker your-user

如需卸载:

sudo apt-get purge docker-ce

镜像、容器、配置文件等需手动删除:

sudo rm -rf /var/lib/docker

Windows Docker安装

系统要求:

  • Windows 10 64位:Pro,Enterprise或Education(1607周年更新,Build 14393或更高版本)
  • 在BIOS中启用虚拟化
  • 具有CPU SLAT功能
  • 至少4GB的RAM

Win7、Win8系统

像Win7、Win8等不符合系统版本要求需要先下载安装Docker Toolbox。它主要包含以下内容:

  • Docker CLI 客户端:用来运行docker引擎创建镜像和容器
  • Docker Machine:可以让你在windows的命令行中运行docker引擎命令
  • Docker Compose:用来运行docker-compose命令
  • Kitematic:这是Docker的GUI版本
  • Docker QuickStart shell:这是一个已经配置好Docker的命令行环境
  • Oracle VM Virtualbox:虚拟机

安装完成后如下图:

3

运行Docker QuickStart,出现$符号即可。

Win10系统

Win10系统需开启Hyper-V功能。Hyper-V是微软提出的一种系统管理程序虚拟化技术,能够实现桌面虚拟化。

下载Docker for Windows Installer.exe并运行。

Docker镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,可以配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。

新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。

在该配置文件中加入(没有配置文件的话,要先建一个):

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]

Docker 安装测试

打开终端(Bash、Powershell等),查看Docker版本:

docker --version

从Docker Hub中拉去镜像并运行一个容器:

docker run hello-world

其他使用方法参见Docker使用


评论