博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker入门指南
阅读量:4180 次
发布时间:2019-05-26

本文共 2506 字,大约阅读时间需要 8 分钟。

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=
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
你可能感兴趣的文章
质量好的自行车品牌有哪些辐轮王土拨鼠全球顶级自行车品牌排行榜
查看>>
htmlunit爬取js异步加载后的页面
查看>>
修改Linux系统locale设置
查看>>
linux网络无法连接问题
查看>>
linux 查看ip
查看>>
记录go数据库操作的bug——max_prepared_stmt_count,附分析过程
查看>>
go中map与xml互转
查看>>
java进程占用CPU过高
查看>>
CSDN-markdown编辑器
查看>>
拷贝整个目录到另一台服务器并排除log目录
查看>>
拜托,面试别再问我跳表了!
查看>>
linux驱动实例
查看>>
android ArrayList<String> 转 String[]
查看>>
RecyclerView baseadapter
查看>>
Android中应用程序如何获得系统签名权限
查看>>
MPAndroidChart 动态更新
查看>>
Recycler表格(excelPanel)
查看>>
android一行代码实现沉浸式布局效果
查看>>
json, recyclerView问题
查看>>
cmake处理多源文件目录的方法
查看>>