Docker杂
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。
容器与镜像的关系类似于面向对象编程中的对象与类。
在Docker容器中run一个应用程序:
· docker run ubuntu:15.10 /bin/echo "Hello world"
docker run:运行一个容器
ubuntu:15.10:要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,则从镜像仓库Docker Hub中下载公共镜像
/bin/echo:在不使用shell的情况下,必须使用/bin/echo命令来代替echo命令(输出后面跟着的文本)
· docker run -i -t ubuntu:15.10 /bin/bash
进入一个ubuntu 15.10系统的容器
-t:在新容器内指定一个伪终端或终端
-i:允许你对容器内的标准输入 (STDIN) 进行交互
· cat/proc/version
查看系统的当前版本
· ls
当前目录下的文件列表
ctrl+d退出当前容器
· docker run -d ubuntu:15.10 /bin/sh -c "while true;do echo hello world;sleep 1;done"
输出结果:2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63,这个长字符串称为容器ID,对每个容器来说唯一,可以通过ID查看对应容器中发生了什么
· docker ps
两个重要信息:CONTAINER ID(容器ID) NAMES(自动分配的容器名称)
以下两条命令作用相同:
· docker logs CONTAINER ID
· docker logs NAMES
· docker stop CONTAINER ID 以及 docker stop NAMES 都是使容器停止工作的作用