docker的基本概念

docker容器可以理解为在沙盒中运行的进程。这个沙盒包含了该进程运行所必须的资源,包括文件系统、系统类库、shell 环境等等。但这个沙盒默认是不会运行任何程序的。你需要在沙盒中运行一个进程来启动某一个容器。这个进程是该容器的唯一进程,所以当该进程结束的时候,容器也会完全的停止

docker的常用命令

  • 查看容器的版本
$ docker version
Client:
 Version:   18.04.0-ce
 API version:   1.37
 Go version:    go1.9.4
 Git commit:    3d479c0
 Built: Tue Apr 10 18:21:36 2018
 OS/Arch:   linux/amd64
 Experimental:  false
 Orchestrator:  swarm

Server:
 Engine:
  Version:  18.04.0-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.4
  Git commit:   3d479c0
  Built:    Tue Apr 10 18:25:25 2018
  OS/Arch:  linux/amd64
  Experimental: false
  • 搜索可用docker镜像
$docker search tutorial  
  • 下载容器镜像

    $docker pull learn/tutorial 
  • 运行容器,包括了docker create 和docker start动作

    $ docker run learn/tutorial echo "hello word"
    $ docker run learn/tutorial apt-get install -y ping
  • 启动容器

    docker start 472f17f404ba
  • 停止容器

    docker stop 472f17f404ba
  • 列出所有的容器,不管是运行的,还是停止的。
docker ps -a
  • 列出最近启动的一个容器

    docker ps -l
  • 提交容器,将可读可写层变为只读层
docker commit   31f9c35e6f85 learn/ping

docker run learn/ping ping www.baidu.com
  • 删除容器
    docker rm 
  • 查看镜像的元数据

    docker inspect  472  #可以使用镜像id的前面部分,不需要完整的id。
  • 查看镜像
    docker images -a
  • 删除镜像

    docker rmi hello-world 
  • 发布自己的镜像

    docker push learn/ping
  • docker history 命令递归地输出指定镜像的历史镜像。
$ docker history b6b2724168e3  
IMAGE               CREATED             CREATED BY                SIZE                COMMENT
b6b2724168e3        44 minutes ago      apt-get install -y ping   11.5MB              
a7876479f1aa        5 years ago                                   128MB               Imported from -