什么是容器?
一种虚拟化方案
操作系统级别的虚拟化
只能运行相同或者相似内核的操作系统
依赖于 Linux 内核特性: Namespace 和 Cgroups(Control Group)
什么是 docker?
将应用程序自动部署到容器
go 语言开源引擎
Docker 的特点
提供简单轻量的建模方式
职责的逻辑分离
快速高效的开发生命周期
鼓励使用面向服务的架构
Docker 的基本组成
Docker Client 客户端
Docker Daemon 守护进程
Docker Image 镜像
Docker Container 容器
Docker Registry 仓库
Ubuntu 安装教程
安装前检查:
内核版本
uname -a
检查 Device Mapper
ls -l /sys/class/misc/device-mapper
docker 的第一个容器
- $ docker run Ubuntu:15.10 /bin/echo 'hello world'
- # docker: Docker 的二进制文件
- # run: 与前面的 docker 组合来运行一个容器
- # Ubuntu:15.10 指定要运行的镜像, Docker 首先从本地主机上查找镜像是否存在, 如果不存在, Docker 就会从镜像仓库 Docker Hub 下载公共镜像.
- # /bin/echo 'hello world' 在启动的容器里执行的命令
容器的基本操作
启动容器
docker run Ubuntu echo 'hello world'
运行交互式容器
- docker run -i -t Ubuntu:16.04 /bin/bash
- # -i --interactive=true|false 默认是 false 允许你对容器内的标准输入 (STDIN) 进行交互.
- # -t --tty=true|false 在新容器内指定一个伪终端或终端.
启动容器 (后台模式)
- docker run -d Ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
- 2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63 # 容器 ID
- # -d 后台运行
在容器内使用 docker logs 命令, 查看容器内的标准输出
docker logs 容器 id
查看容器
- docker ps
- # 查看运行的容器
- docker ps -a
- # 查看所有容器
- docker ps -l
- # 查看最近容器
停止容器
docker stop 容器 id
进入运行中的后台容器
docker exec -it 容器 id bash
或者
docker attach 容器 id
推荐使用第一种方式进入, 因为第一种方式退出后容器不会停止运行, 但是第二种也可以通过 Ctrl + P Q 的方式将容器转为后台运行.
导出容器
- docker container ls -a
- docker export 76a23azsd2> Ubuntu.tar
导入容器快照
可以使用 docker import 从容器快照文件中再导入为镜像
cat Ubuntu.tar | docker import - test/Ubuntu:v1.0
删除容器
docker rm 容器 id
- # 清除所有处于终止状态的容器
- docker container prune
来源: http://www.bubuko.com/infodetail-3080935.html