查看本地拥有的镜像
$ docker images
或者
$ docker image ls
输出:
REPOSITORY TAG IMAGE IDCREATED SIZE
centos latest 9f38484d220f2 days ago 202MB
redis latest 0f88f9be583911 days ago 95MB
hello-world latest fce289e99eb92 months ago1.84kB
例如查询nginx镜像
$ docker search nginx
输出:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 11081 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 1562 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 690 [OK]
拉取nginx, 一般称作拉取pull镜像
$ docker pull nginx
导出nginx镜像,tar文件如果不带路径的话,导出的文件在当前目录中
$ docker save nginx > nginx.tar
导入nginx镜像
$ docker load < nginx.tar
$ docker rmi nginx
列出运行中的容器
$ docker ps
列出全部的状态的容器,包括运行中和已停止
$ docker ps -a
将镜像加载到容器,例如加载centos镜像
$ docker run -i -t centos /bin/bash
-i 表示容器启动后,打开标准的输入设备,可使用键盘输入
-t 表示启动容器后,分配一个伪终端
/bin/bash 表示运行的程序
启动后可以按ctrl+p+q
使容器后台运行
进入运行中的容器,其中a00aa07536cf
是容器的 id(CONTAINER ID)
$ docker attach a00aa07536cf
可以自定义一个名称
$ docker rename modest_goldberg my_centos
之后直接使用名称运行
$ docker attach my_centos
参数exec和run命令是相同的
$ docker exec -it 280edfce7598 /bin/bash
-i 表示容器启动后,打开标准的输入设备,可使用键盘输入
-t 表示启动容器后,分配一个伪终端
/bin/bash 表示运行的程序
$ docker stop a00aa07536cf
强制退出
$ docker kill a00aa07536cf
$ docker start a00aa07536cf
$ docker restart a00aa07536cf
删除容器前需要停止容器,可以使用stop和kill命令
$ docker rm a00aa07536cf
导出容器生成容器包
$ docker export 3ae8f1fc3bfe > centos.tar
导入容器包为镜像,之后创建并启动容器即可,导入方式和导入镜像是有区别的,temp/centos:latest是镜像名称和版本
$ docker import centos.tar temp/centos:latest
本机操作,直接从容器生成镜像
$ docker commit 3ae8f1fc3bfe temp/centos:latest