您的位置:首页 > 运维架构 > Docker

Docker入门指南

2017-05-05 13:52 531 查看
Docker是一个开放平台,用以开发、交付和运行应用系统。Docker通过启动轻量级的容器,可以打包发布完整可交付的应用系统。不同的容器之间是互相隔离的。

Docker容器是一个分层设计的运行实例,一个容器内部可以有多个层次,每个层次对应一个文件系统。

Docker镜像文件image用以构建Docker容器实例。事实上,image就是Docker容器中的一个层次,后续可以直接给Docker容器添加新的image层次,而无需更新已有的image。

dockerfile是一个文本的文档,用以定义Docker镜像image文件的构成。基于dockerfile可以构建得到Docker镜像image文件。

1. Docker的版本
Docker Community Edition (CE)
stable
edge

Docker Enterprise Edition (EE)

2. Docker的安装
Linux/UNIX中,可以直接通过Docker镜像库在线安装,也可以下载DEB包并手工安装和升级。

Windows中还需要Docker toolbox(virtualbox)。

2.1 Linux/UNIX中在线镜像库安装

1) 设置apt能够通过HTTPS访问Docker镜像库

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


2) 设置Docker的GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -


3) 设置访问stable版本镜像库(edge版本也是该库)

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
这里采用ARM64架构的版本,此外还有ARMHF架构

4) 更新apt的package index

sudo apt-get update


5) 安装Docker CE最新版本

sudo apt-get install docker-ce


6) 或者安装Docker CE指定版本

查看Docker CE的可用版本:

apt-cache madison docker-ce


安装Docker CE指定版本:

sudo apt-get install docker-ce=<VERSION>


7) 验证

sudo docker run hello-world


2.2 Linux/UNIX中,下载DEB包并手工安装Docker CE

1) 下载DEB文件
https://download.docker.com/linux/ubuntu/dists/
2) 安装执行

sudo dpkg -i /your/download/path/to/package.deb


3) 验证

sudo docker run hello-world


2.3卸载Docker CE

sudo apt-get purge docker-ce
sudo rm -rf /var/lib/docker


3.Docker的组成

1) Docker Engine是一个CS架构的应用,包含如下组件:

Daemon进程dockerd,创建管理各种Docker对象
builds images
runs and manages containers
manages networks
manages volumes

REST API
CLI客户端docker
基于Docker REST API的一系列docker命令

Docker对象包括images, containers, networks, volumes, plugins和services等等

2) Docker Registries是Docker的镜像文件库

公共的Docker Registries:

Docker Hub,默认镜像文件库 https://hub.docker.com


Docker Cloud

3) Docker store是交易或交流镜像文件的市场

4) Docker services,基于Docker Swarm的多个节点(即多个Docker容器实例)运行的单一应用。

managers node
workers node

5) Docker namespaces

pid
net
ipc
mnt
uts

6) Docker统一的文件系统UnionFS

7) Docker容器格式,默认为libcontainer

4. Docker workflow

find an image from Docker Hub
pull an image
run an image on Docker Engine
stop a container isntance
remove a container isntance
remove an image
Docker 容器内部
your app
your data
Docker 容器外部
logging
remote access
network configuration
monitoring

参考文献

旧官网https://www.docker.io/
https://www.docker.com/ https://github.com/docker https://docs.docker.com/ https://docs.docker.com/engine/docker-overview/ http://hub.docker.com https://wiki.lmera.ericsson.se/wiki/Docker
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息