Docker入门指南

来源:互联网 发布:java 打印map内容 编辑:程序博客网 时间:2024/06/11 19:09

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-cesudo 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
1 0
原创粉丝点击