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  <container-id> 31f9c35e6f85 learn/ping

docker run learn/ping ping www.baidu.com
  • 删除容器
docker rm <container-id>
  • 查看镜像的元数据
docker inspect  472  #可以使用镜像id的前面部分,不需要完整的id。
  • 查看镜像
docker images -a
  • 删除镜像
docker rmi hello-world 
  • 发布自己的镜像
docker push learn/ping
  • docker history <image-id> 命令递归地输出指定镜像的历史镜像。
$ 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 -