Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。
容器与镜像的关系类似于面向对象编程中的对象与类。
Docker | 面向对象 |
---|---|
容器 | 对象 |
镜像 | 类 |
Docker 镜像(Images) | Docker 镜像是用于创建 Docker 容器的模板。 |
Docker 容器(Container) | 容器是独立运行的一个或一组应用。 |
Docker 客户端(Client) | Docker 客户端通过命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 与 Docker 的守护进程通信。 |
Docker 主机(Host) | 一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。 |
Docker 仓库(Registry) | Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。 Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。
|
Docker Machine | Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。 |
Docker windows入门:https://docs.docker.com/windows/
Docker Linux 入门:https://docs.docker.com/linux/
Linux安装docter
1、添加源
echo “deb http://http.debian.net/debian jessie-backports main” >> /etc/apt/sources.list
2、更新源
apt-get update
3、安装docker.io包
apt-get install docker.io
4、查看版本
docker –version
Docker version 1.6.2, build 7c8fca2
5、启动服务
/etc/init.d/docker start
[ ok ] Starting docker (via systemctl): docker.service.
6、拉取debian和CentOS镜像
1)拉取debian镜像
docker pull debian
2)拉取centos镜像
docker pull centos
7、查看镜像
docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
debian latest 8c00acfb0175 3 weeks ago 125.2 MB
centos latest 0f73ae75014f 3 weeks ago 172.3 MB
8、运行名为debian镜像的容器(虚拟
docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
debian latest 8c00acfb0175 3 weeks ago 125.2 MB
centos latest 0f73ae75014f 3 weeks ago 172.3 MB
出1个debian系统)
1)运行debian镜像的容器
docker run -i -t debian
2)查看版本
root@10.1.10.236:~# docker run debian cat /etc/debian_version
8.2
3)查看IP(是dhcp获得 每次获得都不一样)
root@10.1.10.236:~# docker run debian ip
4)查看内核
root@10.1.10.236:~# docker run debian uname -r
3.16.0-4-amd64
5)查看硬盘分区情况
root@10.1.10.236:~# docker run -i -t debian df -Th
Filesystem Type Size Used Avail Use% Mounted on
none aufs 9.1G 1.6G 7.1G 18% /
tmpfs tmpfs 115M 0 115M 0% /dev
shm tmpfs 64M 0 64M 0% /dev/shm
/dev/sda1 ext4 9.1G 1.6G 7.1G 18% /etc/hosts
9、运行名为centos镜像的容器(虚拟出1个centos系统)
1)运行centos镜像的容器
docker run -i -t centos
2)查看版本
root@10.1.10.236:~# docker run centos cat /etc/RedHat-release
CentOS Linux release 7.1.1503 (Core)
3)查看内核
root@10.1.10.236:~# docker run centos uname -r
3.16.0-4-amd64
4)查看ip
root@10.1.10.236:~# docker run centos ip a
5)查看硬盘分区情况
root@10.1.10.236:~# docker run centos df -Th
Filesystem Type Size Used Avail Use% Mounted on
rootfs rootfs 9.1G 1.6G 7.1G 18% /
none aufs 9.1G 1.6G 7.1G 18% /
tmpfs tmpfs 115M 0 115M 0% /dev
shm tmpfs 64M 0 64M 0% /dev/shm
/dev/sda1 ext4 9.1G 1.6G 7.1G 18% /etc/hosts
tmpfs tmpfs 115M 0 115M 0% /proc/kcore
tmpfs tmpfs 115M 0 115M 0% /proc/timer_stats
一些常见命令
容器生命周期管理
- run
-
docker run :创建一个新的容器并运行一个命令
语法 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
- start/stop/restart
-
docker start :启动一个或多少已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
- kill
- rm
- docker rm :删除一个或多少容器
- pause/unpause
- create
- exec