1.镜像命令
列出镜像列表
docker images #查看所有镜像
runoob@runoob:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB
php 5.6 f40e9e0f10c8 9 days ago 444.8 MB
nginx latest 6f8d099c3adc 12 days ago 182.7 MB
mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB
httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB
ubuntu 15.10 4e3b13c8a266 4 weeks ago 136.3 MB
各个选项说明:
-
REPOSITORY:表示镜像的仓库源
-
TAG:镜像的标签
-
IMAGE ID:镜像ID
-
CREATED:镜像创建时间
-
SIZE:镜像大小
获取一个新的镜像
docker pull
Crunoob@runoob:~$ docker pull ubuntu:13.10
13.10: Pulling from library/ubuntu
6599cadaf950: Pull complete
23eda618d451: Pull complete
f0be3084efe9: Pull complete
52de432f084b: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:15b79a6654811c8d992ebacdfbd5152fcf3d165e374e264076aa435214a947a3
Status: Downloaded newer image for ubuntu:13.10
查找镜像
我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/
我们也可以使用 docker search 命令来搜索镜像。比如我们需要一个 httpd 的镜像来作为我们的 web 服务。我们可以通过 docker search 命令搜索 httpd 来寻找适合我们的镜像。
runoob@runoob:~$ docker search httpd
删除镜像
镜像删除使用 docker rmi 命令,比如我们删除 hello-world 镜像:
docker rmi hello-world
docker rmi -f 镜像Id #根据镜像Id删除指定镜像
docker rmi -f 镜像Id 镜像Id 镜像Id #删除多个镜像
docker rmi -f $(docker images -aq) #删除全部的镜像
2.容器命令
新建容器并启动
docker run [可选参数] image
#参数说明
--name="Name" 容器名称,用来区分容器
-d 后台方式运行
-it 使用交互方式运行。进入容器查看内容
-p 指定容器端口 -p 8080:8080
-P 随机指定端口
启动docker并进入命令行模式:docker run -it centos /bin/bash
后台运行docker(-d): docker run -itd --name ubuntu-test ubuntu /bin/bash
查看所有运行的容器
docker ps #列出正在运行的容器
docker ps -a #列出正在运行+历史运行的容器
-q #列出容器编号
进入容器
docker exec -it 容器Id /bin/bash
退出容器
exit #容器停止并退出
ctrl+P+Q #容器不停止退出
删除容器
docker rm 容器Id #删除指定的容器
docker rm -f $(docker ps -aq) #删除所有的容器
启动和停止容器的操作
docker start 容器Id # 启动容器
docker restart 容器Id # 重启容器
docker stop 容器Id # 停止当前正在运行的容器
docker kill 容器Id # 强制停止当前容器
导入和导出容器
导出容器 1e560fca3906 快照到本地文件 ubuntu.tar。
$ docker export 1e560fca3906 > ubuntu.tar
可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:
$ cat docker/ubuntu.tar | docker import - test/ubuntu:v1
此外,也可以通过指定 URL 或者某个目录来导入,例如:
$ docker import http://example.com/exampleimage.tgz example/imagerepo
3.其他常用命令
docker启动失败后查看日志
docker inspect --format '{{.LogPath}}' 容器ID