容器带有可写文件层。虚拟机是独立运行的一整套操做系统和跑在上面的应用。docker容器是独立运行的一个应用,以及他们必须的运行环境。html
建立、启动、终止容器,进入容器内执行操做、删除、导入导出等操做。nginx
建立容器 虚拟机的进化。对容器进行操做和直接操做应用同样简单快速。 docker create -it ubuntu:14.04 查看容器 docker ps -a 处于中止状态,启动 docker start id create和run命令支持的选项十分复杂分三大类:与容器运行模式相关、与容器和环境配置相关、与容器资源限制和安全保护相关。、docker
新建并启动容器: docker run ubuntu /bin/echo 'hello world' 其中docker run至关于先执行docker create 再执行docker start ,在输出完hello world后容器自动终止。ubuntu
docker run的标准执行流程:检查本地镜像,不存在就从仓库下载;用镜像建立一个容器,启动该容器;分配一个文件系统给容器,在只读镜像层外挂载一层可读写层;从宿主机配置的网桥接口中桥接一个虚拟接口到容器中;从网桥的地址池配置一个ip地址给容器;执行用户指定的程序;执行完毕后容器自动终止。安全
启动bash终端并交互 docker run -it ubuntu:14.04 /bin/bashbash
man docker-run查看命令选项服务器
pwd显示路径名ps查看进程exit退出容器网络
错误代码 125 是docker daemon执行出错;126是指定命令没法执行,如权限出错;127是容器内命令没法找到。操作系统
守护态运行。利用参数-d实现。容器会进入后台,没法看到信息,没法操做。 此时进入容器有三个方法:attach、exec、nsenter。 docker attach name 多个窗口连到容器时,会同步显示。 docker exec -it id /bin/bash从新打开一个交互用的bash终端。推荐使用。 nsenter命令经过pid链接,命令偏长,不推荐。rest
获取容器输出信息 docker logs id
终止容器 docker stop id 强行终止容器docker kill id 当容器中应用终结时,容器就会自动终止。 重启容器docker restart id
删除容器 docker rm id 有可选项-f -l -v。
导出容器 从一个系统迁移到另外一个系统。导出一个已建立的容器到一个文件,不管运行与否,docker export命令。如docker export -o aa.tar id
导入容器 docker import aa.tar - test/ubuntu:v1.0
参考文章http://www.runoob.com/docker/docker-run-command.html docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS说明: -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项; -d: 后台运行容器,并返回容器ID; -i: 让标准输入打开,以交互模式运行容器,一般与 -t 同时使用; -t: 为容器从新分配一个伪输入终端并绑定到容器的标准输入上,一般与 -i 同时使用; --name="nginx-lb": 为容器指定一个名称; --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致; --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致; -h "mars": 指定容器的hostname; -e username="ritchie": 设置环境变量; --env-file=[]: 从指定文件读入环境变量; --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行; -m :设置容器使用内存最大值; --net="bridge": 指定容器的网络链接类型,支持 bridge/host/none/container: 四种类型; --link=[]: 添加连接到另外一个容器; --expose=[]: 开放一个端口或一组端口;