镜像
- docker image:列出所有的镜像
- docker pull <镜像>:下载镜像
- docker search <镜像>:从公共镜像中搜索
- docker push <REPOSITORY>:<TAG>:上传镜像
- docker rmi <image-id>: 删除镜像
- docker save -o <自定义保存的压缩文件名> <仓库名>:<TAG>:镜像保存成<自定义保存的压缩文件名>
容器
- docker ps:列出所有正在运行的容器
- docker ps -a: 列出当前正在运行的容器
- docker logs <CONTAINER ID/NAMES>:查看容器日志
- docker stop <name>:暂停容器
- docker rm <name>:删除容器
- docker create -it --name <自定义容器名> <仓库名>:<TAG>:创建容器
- docker create -it --name <自定义容器名> <image-id> bash:创建容器
- docker start -i <container-id>: 启动容器
- docker exec -it <container-id>:进入容器
- docker run <image-id>: 运行容器,是docker create和docker start两个命令的组合,支持参数也是一致的
- docker commit <container-id>:提交容器,将容器的可读写层转换为一个只读层,这样就把一个容器转换成了不可变的镜像
创建容器
运行示例:创建一个centos的容器,可以使用仓库+标签的名字确定image,也可以使用image-id指定image。返回容器id
#查看本地images列表 $ docker images #用仓库+标签 $ docker create -it --name centos6_container centos:centos6 #使用image-id $ docker create -it --name centos6_container 6a77ab6655b9 bash b3cd0b47fe3db0115037c5e9cf776914bd46944d1ac63c0b753a9df6944c7a67 #可以使用 docker ps查看一件存在的容器列表,不加参数默认只显示当前运行的容器 $ docker ps -a
可以使用 -v 参数将本地目录挂载到容器中。
$ docker create -it --name centos6_container -v /src/webapp:/opt/webapp centos:centos6
这个功能在进行测试的时候十分方便,比如用户可以放置一些程序到本地目录中,来查看容器是否正常工作。本地目录的路径必须是绝对路径,如果目录不存在 Docker 会自动为你创建它。
启动容器
docker start <container-id>
Docker start命令为容器文件系统创建了一个进程隔离空间。注意,每一个容器只能够有一个进程隔离空间。运行实例:
#通过名字启动 $ docker start -i centos6_container #通过容器ID启动 $ docker start -i b3cd0b47fe3d
进入容器
docker exec <container-id>
在当前容器中执行新命令,如果增加 -it参数运行bash 就和登录到容器效果一样的。
docker exec -it centos6_container bash
停止容器
docker stop <container-id>
删除容器
docker rm <container-id>
运行容器
docker run <image-id>
docker run就是docker create和docker start两个命令的组合,支持参数也是一致的,如果指定容器
名字是,容器已经存在会报错,可以增加 --rm 参数实现容器退出时自动删除。
运行示例:
docker create -it --rm --name centos6_container centos:centos6
查看容器列表
docker ps
docker ps 命令会列出所有运行中的容器。这隐藏了非运行态容器的存在,如果想要找出这些容器,增加 -a 参数。
删除镜像
docker rmi <image-id>
删除构成镜像的一个只读层。你只能够使用docker rmi来移除最顶层(top level layer)
(也可以说是镜像),你也可以使用-f参数来强制删除中间的只读层。
commit容器
docker commit <container-id>
将容器的可读写层转换为一个只读层,这样就把一个容器转换成了不可变的镜像。
镜像保存
docker save <image-id>
创建一个镜像的压缩文件,这个文件能够在另外一个主机的Docker上使用。和export命令不同,这个命令为每一个层都保存了它们的元数据。这个命令只能对镜像生效。
使用示例:
#保存centos镜像到centos_images.tar 文件 $ docker save -o centos_images.tar centos:centos6 #或者直接重定向 $ docker save -o centos_images.tar centos:centos6 > centos_images.tar
容器导出
docker export <container-id>
创建一个tar文件,并且移除了元数据和不必要的层,将多个层整合成了一个层,只保存了当前统一视角看到的内容。expoxt后的容器再import到Docker中,只有一个容器当前状态的镜像;而save后的镜像则不同,它能够看到这个镜像的历史镜像。
inspect
docker inspect <container-id> or <image-id>
docker inspect命令会提取出容器或者镜像最顶层的元数据