Docker

来自开放百科 - 灰狐
跳转到: 导航, 搜索

Docker: the Linux container engine

Docker是一款基于轻量级虚拟化技术的容器引擎,使用 Go 语言开发,采用 Apache V2 许可协议。

Docker可以在容器内部快速自动化部署应用,并可以通过内核虚拟化技术(namespaces及cgroups等)来提供容器的资源隔离与安全保障等。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机(VM)额外的操作系统开销,提高资源利用率,并且提升诸如IO等方面的性能。

OpenStack也在其最新发行版(代号Havana)中引入了Docker。

Docker-logo.png

目录

原理

Docker 是封装自 LXCcgroup 的虚拟化技术。

Docker的overlay存储驱动建立在OverlayFS文件系统之上,它允许将一个文件系统与另一个文件系统重叠(overlay),在上层的文件系统中记录更改,而下层的文件系统保持不变,OverlayFS从Linux 3.18版本以后已进入内核主线。

指南

下载Docker,如macOS

Docker Toolbox包含:

  • Docker Client
  • Docker Machine
  • Docker Compose
  • Docker Kitematic
  • VirtualBox

下载安装Docker Toolbox

$ docker version
$ docker-machine version
$ docker-compose version
$ docker run debian /bin/echo hello world

一些配置参考:cat /etc/docker/daemon.json

{
  "registry-mirrors": ["https://registry.docker-cn.com"],
  "insecure-registries": ["172.30.2.245:5000"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}

进入一个正在运行容器,如:

docker exec -t -i <id/container_name>  /bin/bash

清理所有Docker容器、容器卷和镜像 How To Remove Docker Images, Containers, and Volumes

docker rm -f $(docker ps -qa)
docker volume rm $(docker volume ls -q)
docker rmi -f $(docker images -q)

清除所有未使用或悬挂(Unused or Dangling)的镜像、容器、卷和网络

docker container prune
docker system prune

Debian

How To Install and Use Docker on Debian 10

$ sudo apt update
$ sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
$ sudo apt update
$ apt-cache policy docker-ce
$ sudo apt install docker-ce
$ sudo systemctl status docker


CentOS

CentOS 8 install Docker

curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
or yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
yum install docker-ce
systemctl start docker

Python

项目

部署

Docker的多种部署方式:

  • 通过OpenStack管理Docker,采用Nova Docker Driver方案来集成,京东采用。
  • 通过Apache Mesos管理Docker,Twitter、Paypal、数人云、灵雀云采用。
  • 通过kubernetes管理Docker,UCloud采用。
  • 通过Docker Swarm部署Docker集群。

>>>更多细节

文档

>>>更多幻灯片

图书

用户

>>>更多用户

开发

服务商

图集

链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱