docker的基本命令

原创 2019-12-11 09:31:10 Linux 阅读(222)

简介 Docker时基于Go语言实现的云开源项目,Docker通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的应用及其运行环境能够做到“一次封装,到处运行”。将应用运行在Docker容器上面,而Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大的简化了操作。这里总结一下docker的一些基本命令。

1.Docker的帮助命令

#docker版本信息 docker version #docker版本信息 docker info #docker帮助命令,类似linux的man版主命令(打印出命令信息) docker --help

2.Docker的镜像命令

  • 镜像列表:
#列出本地的所有镜像列表 docker images 参数说明: -a:列出本地所有的镜像(含中间映像层) -q:只显示镜像ID --digests:显示镜像的摘要信息 --no-trunc:显示完整的镜像信息
  • 查询镜像:
#查询某个镜像(名称) docker search name 参数说明: -s num:筛选收藏数不小于指定数的镜像     (现在推荐使用docker search --filter=stars=900 nginx) --no-trunc:显示完整描述 --automated:只列出automated build类型的镜像
  • 下载镜像:
#下载指定镜像名称和标签的镜像,不填标签默认为:latest(最新的镜像) docker pull imageName[:TAG]
  • 删除镜像:
docker rmi 某个镜像/镜像ID 参数说明: -f 强制删除(docker rmi -f hello-word[:latest]) 删除多个用空格输入即可(docker rmi -f imageName1:TAG imageName2:TAG) 删除全部:docker rmi -f ${docker images -qa}(在centos7.3上报错-bash: ${docker images -qa}: bad substitution) 使用docker rmi -f `docker images -qa`删除全部

3.Docker的容器命令

  • 新建并启动容器:
docker run [OPTIONS] IMAGE[COMMAND][ARG...]

[OPTIONS]说明:
–name=“容器新名字”:为容器指定一个名称;
-d:后台运行容器,并返回容器ID,即启动守护式容器;
-i:以交互模式运行容器,通常与-t同时使用;
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;
-P:随机端口映射;
-p:指定端口映射,有以下四种格式
        ip:hostPort:containerPort
        ip::containerPort
        hostPort:containerPort
        containerPort

#创建交互模式容器centos,如果没指定容器名称,随机取容器名 docker run -it --name "容器名称" Image/ImageID (/bin/bash)
  • 列出当前所有正在运行的容器:
docker ps [OPTIONS] 说明: -a列出所有正在运行的容器+历史上运行过的 -l:显示最近创建运行的容器 -n num显示最近num个创建运行的容器 -q静默模式,只显示容器编号(批量操作时) --no-trunc 不截断输出
  • 退出容器:
exit   容器停止退出 ctrl+P+Q 容器不停止退出
  • 启动/停止/重启/删除容器:
#启动容器 docker start 容器名/容器id #重启容器 docker restart 容器名/容器id #停止容器 docker stop 容器名/容器id #强制停止容器 docker kill 容器名/容器id
  • 删除已停止的容器
docker rm 容器名/容器id 说明: -f 强制删除(可以删除还在运行的容器) 一次删除多个容器和删除镜像相同,空格输入多个即可 一次全部删除 docker rm -f `docker ps -qa` 或者docker ps -qa | xargs docker rm -f
  • 其他
# 1、以后台模式启动一个centos容器 docker run -d centos 启动之后,使用docker ps -a查询此容器已经退出运行了 Docker容器后台运行,就必须有一个前台进程 容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。 # 2、查看容器日志 docker logs -f-t --tail 容器id -f查看实时日志,跟随最新日志打印 -t打印加上时间 --tail 数字,显示最后多少条日志 # 3、查看容器运行的进程 docker top 容器id # 4、查看容器内部细节 docker inspect 容器ID # 5、重新进入容器,并以命令行交互 docker attach 容器ID #进入容器 docker exec -it 容器ID bashShell  #在外部执行容器内的命令bashShell,直接返回结果 dcoker exec -it 容器ID /bin/bash  #进入容器,和【docker attach 容器ID】功能相同 区别: attach是直接进入容器启动命令的终端,不会启动新的进程 exec是在容器中打开新的终端,并且可以启动新的进程 # 6、从容器内拷贝文件到主机上 docker cp 容器ID:容器内部路径 目标主机路径

4.help命令参数说明

attack #当前shell下attache连接指定运行镜像 build #通过Dockerfile定制镜像 commit #提交当前容器为新的镜像 cp #从容器中拷贝指定文件或者目录到宿主机中 create #创建一个新的容器,同run,但不启动容器 diff #查看docker容器变化 events #从docker服务获取容器定时事务 exec #在已存在的容器上运行命令 export #导出容器的内容流作为一个tar归档文件【对应import】 info #显示系统相关信息 inspect    #查看容器详细信息 kill #kill指定docker容器 load #从一个tar包中加载一个镜像【对应save】 login #注册或者登录一个docker源服务器 logout   #从当前Docker registry退出 logs #输出当前容器日志信息 port #查看映射端口对应的容器内部源端口 pause #暂停容器 ps #列出容器列表 pull #从docker镜像源服务拉取指定镜像或者库镜像 push #推送指定镜像或者库镜像至docker源服务器 restart #重启运行的容器 rm #移出一个或者多个容器 rmi #移出一个或者多个镜像无容器使用该镜像才可删除,否则需要删除相关容器才可继续或-f强制删除 run #创建一个新的容器并运行一个命令 save #保存一个镜像为一个tar包【对应load】 search #在docker hub中搜索镜像 start #启动容器 stop #停止容器 tag #给源中镜像打标签 top #查看容器中运行的进程信息 unpause #取消暂停的容器 version #查看docker版本号 wait #截取容器停止时的退出状态值

5.设置容器启动策略

docker update --restart=always 容器ID #开机自动启动