Docker的基本命令和用法

一、镜像操作

1、列出镜像

查看本地拥有的镜像

$ 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

2、搜索镜像

例如查询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]

3、下载镜像

拉取nginx, 一般称作拉取pull镜像

$ docker pull nginx

4、导入/导出镜像

导出nginx镜像,tar文件如果不带路径的话,导出的文件在当前目录中

$ docker save nginx > nginx.tar

导入nginx镜像

$ docker load < nginx.tar

5、删除镜像

$ docker rmi nginx

二、容器操作

1、列出容器

列出运行中的容器

$ docker ps

列出全部的状态的容器,包括运行中和已停止

$ docker ps -a

2、创建并启动容器

将镜像加载到容器,例如加载centos镜像

$ docker run -i -t centos /bin/bash

-i 表示容器启动后,打开标准的输入设备,可使用键盘输入

-t 表示启动容器后,分配一个伪终端

/bin/bash 表示运行的程序

启动后可以按ctrl+p+q使容器后台运行

3、进入容器

进入运行中的容器,其中a00aa07536cf是容器的 id(CONTAINER ID)

$ docker attach a00aa07536cf

可以自定义一个名称

$ docker rename modest_goldberg my_centos

之后直接使用名称运行

$ docker attach my_centos

4、执行命令

参数exec和run命令是相同的

$ docker exec -it 280edfce7598 /bin/bash

-i 表示容器启动后,打开标准的输入设备,可使用键盘输入
-t 表示启动容器后,分配一个伪终端
/bin/bash 表示运行的程序

5、停止容器

$ docker stop a00aa07536cf

6、终止容器

强制退出

$ docker kill a00aa07536cf

7、启动容器

$ docker start a00aa07536cf

8、重启容器

$ docker restart a00aa07536cf

9、删除容器

删除容器前需要停止容器,可以使用stop和kill命令

$ docker rm a00aa07536cf

10、导入/导出容器

导出容器生成容器包

$ docker export 3ae8f1fc3bfe > centos.tar

导入容器包为镜像,之后创建并启动容器即可,导入方式和导入镜像是有区别的,temp/centos:latest是镜像名称和版本

$ docker import centos.tar temp/centos:latest

本机操作,直接从容器生成镜像

$ docker commit 3ae8f1fc3bfe temp/centos:latest

 

你可能感兴趣的