Docker 包括三个基本概念:
- 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
- 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
- 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
一、docker容器命令
1.Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。
1 runoob@runoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world" 2 Hello world
2.运行交互式的容器
1 runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash 2 root@0123ce188bd8:/#
-
-t: 在新容器内指定一个伪终端或终端。
-
-i: 允许你对容器内的标准输入 (STDIN) 进行交互。
3.启动容器
1 runoob@runoob:~$ docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done" 2 2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63 #显示内容为容器ID
- -d:后台运行容器,并返回容器ID,也即启动守护式容器;
4.后台运行docker
1 runoob@runoob:~$ docker run -itd --name ubuntu-test ubuntu /bin/bash
加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec,退出容器终端,但不会导致容器的停止
1 runoob@runoob:~$ docker exec -it 243c32535da7 /bin/bash
2 root@0123ce188bd8:/#
5.查看容器运行状态
1 runoob@runoob:~$ docker ps
2 CONTAINER ID #容器ID IMAGE #镜像 COMMAND #启动容器时运行的命令 CREATED STATUS PORTS #容器的端口信息和使用的连接类型(tcp\udp) NAMES #容器名称
3 2b1b7a428627 training/webapp "/bin/sh -c 'while true...'" 37 seconds ago Up 36 seconds 0.0.0.0:1025->5000/tcp ecstatic_ritchie
docker ps -a : 查看所有容器
七种STATUS容器状态:
- created(已创建)
- restarting(重启中)
- running 或 Up(运行中)
- removing(迁移中)
- paused(暂停)
- exited(停止)
- dead(死亡)
6.查看容器内的标准输出
1 runoob@runoob:~$ docker logs 2b1b7a428627 #容器ID或者容器名称 2 hello world
7.停止容器
1 runoob@runoob:~$ docker stop 2b1b7a428627 #容器ID或者容器名称
8.重启容器
1 runoob@runoob:~$ docker restart 2b1b7a428627 #容器ID或者容器名称
9.退出容器:通过运行 exit 命令或者使用 CTRL+D
10.删除容器
1 runoob@runoob:~$ docker rm -f 2b1b7a428627
二、docker镜像命令
1.获取镜像
1 runoob@runoob:~$ docker pull ubuntu:13.10
2.列出镜像列表
1 runoob@runoob:~$ docker images 2 REPOSITORY#镜像仓库源 TAG IMAGE ID CREATED SIZE 3 ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB 4 php 5.6 f40e9e0f10c8 9 days ago 444.8 MB
3.删除镜像
1 runoob@runoob:~$ docker rmi “水月传奇” #删除镜像水月传奇
打压式教育是不可取的。让孩子过早接受语言暴力、承受压力,不仅不能提高孩子的心理素质,还会让孩子变得过于谨慎、胆怯……而且,这样的影响,对于孩子来说,是终身不可逆的。