docker 基本命令大全

来源:互联网 发布:手机网络切换开关 编辑:程序博客网 时间:2024/05/19 13:57

docker 版本1.12 ,整理一下常用的命令:

1 . 列表内容

检索镜像

docker search redis

2 . 查看本机所有镜像

docker images

3 . 下载镜像

docker  pull  hello-worlddocker  pull  172.172.20.28:9800/test/hello-world:latest 

4 . 启动一个容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-d :  以后台进行方式运行容器-t :  提供一个伪终端-i :  提供交互输入,一般与“-t”一起使用,如果只提供“-i”选项,则容器启动后是无法退出的-v : 映射一个volume给容器,如:  -p /data/www:/var/www/html-p : 将容器的端口映射给宿主机,如: -p 8080:80

示例:

以交互方式启动一个容器:# docker -it centos:6.6 /bin/bash以后台方式启动容器,并映射端口:# docker -d -p 4422:22 sshd映射一个本地目录给容器,并映射端口:# docker run -d -v /data/www:/var/www/html -p 8080:80 httpd# docker run -d --net='host'  -v /data/logs/appcenter_appcenter:/opt/tomcat/logs  --name appcenter_appcenter 172.172.177.75:5000/appcenter_appcenter 10.253.254.24,12507,59000,59001 

5 . 查看docker容器

docker ps -adocker ps

6 . 查看docker容器日志

 docker logs  “Container Name或Container ID”

7 . 停止容器

正常停止一个运行中的容器:# docker stop “Container Name或Container ID”直接kill一个容器:# docker kill “Container Name或Container ID”

8 . 删除容器

# docker rm “Container Name或Container ID”

9 . 重启docker容器

 # docker restart“Container Name或Container ID”

10 . 进入容器

docker exec -it d48b21a7e439 /bin/sh

11 .查看容器或者镜像文件底层信息

docker  inspect   fdb

12 .查看docker版本

docker version: 显示Docker版本docker info: 显示Docker信息

13. 拷贝文件

docker cp: 拷贝容器中的文件到宿主主机命令格式:docker cp CONTAINER:PATH HOSTPATH例子:docker cp c3f279d17e0a:/home/hyzhou/answer.txt /data/logs  将镜像中的/home/hyzhou/answer.txt文件拷贝到当前目录下

14. 查看docker容器中的进程

docker top: 查看容器输出命令格式:docker top CONTAINER [ps OPTIONS]例子:[ps OPTIONS]的意思是, 你可以在这个命令后面加上使用ps命令时的各种参数sudo docker top 708cc7ec0f23sudo docker top 708cc7ec0f23 aux

15. 实时监听容器的事件

docker events: 实时监听容器的事件命令格式:docker events [OPTIONS]命令参数:--since=""                      显示某一个时间戳之后的events--until=""                        实时监听到某个时间戳为止例子:A终端:sudo docker events                             终端A等待Docker系统信息sudo docker events --since 1378216169sudo docker events --since '2013-09-03'sudo docker events--since '2013-09-03 15:49:29'sudo docker events --since'2013-09-03 15:49:29 +0200CEST'sudo docker events > docker.log &   后台记录Docker的容器事件B终端:sudo docker restart 708cc7ec0f23     从B终端关闭容器A终端显示:2014-09-06T23:08:21+08:00708cc7ec0f23a5ec898c9d6308e9767edb66b863e96352ca6e030f0a5557f3b2:(fromubuntu:latest) die2014-09-06T23:08:22+08:00708cc7ec0f23a5ec898c9d6308e9767edb66b863e96352ca6e030f0a5557f3b2:(fromubuntu:latest) start2014-09-06T23:08:22+08:00708cc7ec0f23a5ec898c9d6308e9767edb66b863e96352ca6e030f0a5557f3b2:(fromubuntu:latest) restart

16. 显示镜像的历史记录

docker history: 显示镜像的历史记录命令格式:docker history [OPTIONS] IMAGE命令参数:--no-trunc=false              不要截断输出-q, --quiet=false              仅显示容器ID

17. 上传/下载镜像

docker pull: 从远程拉取镜像命令格式:docker pull NAME[:TAG]例子:docker pull ubuntu:latestdocker push: 推送镜像到远程仓库命令格式:docker push NAME[:TAG]例子:docker push hyzhou/ubuntu:3.2.3docker tag busybox 192.168.112.136:5000/busyboxdocker push 192.168.112.136:5000/busybox

18. 将容器打包成新的镜像

docker commit: 将容器打包成新的镜像命令格式:docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]命令参数:-a, --author=""                 作者信息,"John Hannibal Smith <hannibal@a-team.com>"-m, --message=""            提交信息-p, --pause=true             在提交镜像时暂停容器例子:sudo docker psID                  IMAGE               COMMAND             CREATED             STATUSc3f279d17e0a        ubuntu:12.04        /bin/bash           7 days ago          Up 25 hours197387f1b436        ubuntu:12.04        /bin/bash           7 days ago          Up 25 hoursdocker commit c3f279d17e0a Hyzhou/my_ubuntu:3.2.3docker commit -a "Hyzhou<hyzhou@qq.com>" -m "addthe new software" c3f279d17e0a Hyzhou/my_ubuntu:3.2.3docker imagesREPOSITORY                        TAG                 ID                  CREATED             VIRTUAL SIZEHyzhou/my_ubuntu                  3.2.3               f5283438590d        16 seconds ago      335.7 MB

19. Dockerfile构建新的镜像

docker build: 使用Dockerfile构建新镜像命令格式:docker build [OPTIONS] PATH|URL|-命令参数:--force-rm=false              移除构建时生成的中间容器--no-cache=false             Donot use cache when building the image-q, --quiet=false               不显示容器的输出--rm=true                         构建成功后,移除构建时生成的中间容器-t, --tag=""                        构建成功后,新建镜像的名称

20. 给镜像加标签

docker tag: 为镜像加上标签命令格式:docker tag [OPTIONS] IMAGE[:TAG][REGISTRYHOST/][USERNAME/]NAME[:TAG]命令参数:-f, --force=false                强制打上标签?例子:sudo docker tag ubuntu:latest hyzhou/my_ubuntu:3.2.3    给ubuntu:latest打上新TAG:hyzhou/my_ubuntu:3.2.3sudo docker tag eb601b8965b8 ubuntu:latest             给eb601b8965b8镜像打上TAG: ubuntu:latest(会转换原有的TAG指向)

21. 将image保存为tar压缩文件

docker save: 将image保存为tar压缩文件命令格式:docker save [OPTIONS] IMAGE [IMAGE...]命令参数:-o, --output=""                  写入到一个文件中作为输出,默认是标准输出流例子:docker save --output ubuntu.tar ubuntu:latest  将Ubuntu的最新镜像打包为ubuntu.tardocker save ubuntu:latest > ubuntu.tar          将Ubuntu的最新镜像打包为ubuntu.tar

22. 将tar压缩文件保存为image

docker load: 将tar压缩文件保存为image命令格式:Docker load [OPTIONS]命令参数:-i, --input=""                    读取一个压缩文件作为输入,默认是标准输入流例子:docker load --input ubuntu.tar                  读取ubuntu.tar作为镜像docker load < ubuntu.tar                        读取ubuntu.tar作为镜像

23. 把容器导出

docker export: 把容器系统文件打包并导出来,方便分发给其他场景使用。命令格式:docker export CONTAINER例子:sudo docker export my_ubuntu > ubuntu.tar       将Ubuntu的最新镜像打包为ubuntu.tar

24. 加载容器

docker import: 加载容器系统文件命令格式:docker import URL|- [REPOSITORY[:TAG]]例子:sudo docker import http://example.com/exampleimage.tgzcat exampleimage.tgz | sudodocker import -exampleimagelocal:new
原创粉丝点击