Docker的发展
Docker
使用 Google 公司推出的 Go 语言 进行开发实现,基于Linux
内核的 cgroup
,namespace
,以及 OverlayFS
类的Union FS
等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。
和虚拟机的对比
特性 | 容器 | 虚拟机 |
---|---|---|
启动 | 一般为MB |
一般为GB |
性能 | 和原生一样 | 相对于弱 |
支持数量 | 支持上千个 | 几个到十几个 |
Docker 包括三个基本概念
-
镜像( Image
) -
容器( Container
) -
仓库( Repository
)
🚢镜像
Docker
镜像 是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像 不包含任何动态数据,其内容在构建之后也不会被改变。
🚸容器
容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的 root 文件系统、自己的网络配置、自己的进程空间,甚至自己的用户 ID 空间。
⚽仓库
镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry
就是这样的服务。
一个 Docker Registry
中可以包含多个 仓库(Repository
);每个仓库可以包含多个 标签(Tag
);每个标签对应一个镜像。
安装Docker
在kali
或者其他debian
系列的Linux中,我们可以用下面命令进行安装。
apt-get install docker docker-compose
Docker 常用的命令
🛺启动 关闭 重启
service docker start
service docker stop
service socker restart
🎧拉取镜像
格式如下:docker pull 选项 Docker Registry 地址:端口号/仓库名:标签
如:
docker pull ubuntu
🐶列出镜像列表
docker image ls
🏠启动指定镜像
docker run -it ubuntu bash
-it
:这是两个参数,一个是 -i
:交互式操作,一个是 -t
终端。
ubuntu
:这是指用 ubuntu
镜像为基础来启动容器。如果需要使用特定版本,可以在后面跟上:版本号 ,比如ubuntu:18.04
🐼删除镜像
docker image rm xxxxx #最后一位是镜像ID, 通过列出镜像获取
列出容器
docker ps #查看正在运行的容器
docker ps -a #查看所有容器
🌈启动容器
docker container start 容器ID
😘停止容器
docker container stop 应用名或者ID
🥳删除容器
docker rm 容器id
更多精彩文章 欢迎关注我们
原文始发于微信公众号(kali黑客笔记):Docker从入门到放弃
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论