首页 > 其他 > 详细

docker 常用命令

时间:2020-04-21 20:20:11      阅读:60      评论:0      收藏:0      [点我收藏+]

1、更换镜像:可以使用阿里云或者腾讯云提供的镜像服务。

docker 帮助命令:

docker version:查看版本

docker info:docker 的详细信息

docker help:帮助命令提示信息

 

docker镜像命令:

docker images:查看当前docker已经可使用的镜像模板。

     参数:-a,查看所有镜像(包含中间镜像层)

        -q:只显示镜像id

        --digests 显示镜像的摘要信息

        --no-trunc 显示完整的镜像信息

 

docker search 镜像名:到https://hub.docker.com中查找镜像 ;

         参数 -s num:查找star点赞数操作num的镜像名。

 

下载镜像:docker pull 镜像名:版本号 ,版本号缺省,默认下载最新版本

 

删除镜像:docker rmi 镜像名:版本号 [镜像名:版本号],可删除多个镜像,版本号缺省,默认删除latest,-f强制删除

       docker rmi -f $(docker images -qa):删除全部镜像

 

容器操作操作命令:

新建并启动容器:docker run [options] image [command] [args...] 

          options说明:

              --name="容器新名称":为容器指定一个新名字

              -d:后台运行容器,并返回容器ID,也即启动守护式容器

              -i:以交互模式运行容器,通常与-t同时使用

              -t:为容器重写分配一个伪输入终端,通常与-i同时使用

              -P:随机映射端口

              -p:指定端口映射,有一下四种格式:

                ip:hostPort:containerPort

                ip::containerPort

                hostPort:containerPort

                containerPort

注意:使用守护模式(后台)启动容器,例如docker run -d centos时,会出现问题:

   当我们使用docker ps -a进行查看,会发现容器已经退出

   很重要的说明一点:docker容器后台运行,就必须有一个前台进程。

   容器运行的命令如果不是那些一直挂起的命令(比如top、tail),就是会自动会出的。

 

这个是docker机制问题,比如web容器,一nginx为例,正常情况下,我们配置启动服务只需要启动响应的server即可,例如server nginx start

但是这样做,ngxin为后台进程运行模式,就导致docker前台没有运行的应用,这样的容器后台启动后,会立即自杀,因为它觉得没有事情可以做了。

所以,最佳的解决方案是,将你要运行的程序以前台进程的形式运行

 

查看当前运行的容器:docker ps [options]

          options说明:

              -a:列出当前所有正在运行的容器+历史上运行过的

              -l:显示最近创建的容器

              -n:显示最近n个创建的容器

              -q:静默模式,只显示容器编号

              --no-tunc:不截断输出

从容器中退出:1)exit(停止容器退出) 2)Ctrl + P + Q(不停止容器,退出,容器的进程还在)

 

启动容器:docker start 容器名或者容器ID

 

停止容器:docker stop 容器名或者容器ID

 

强制停止容器:docker kill 容器名或者容器ID

 

删除创建的容器:docker rm 容器名或者容器ID; -f:强制删除;

       一次性删除多个容器:docker rm -f $(docker ps -q -a)

                 docker ps -q -a |xargs docker rm

查看容器日志:docker logs -f -t --tail 容器ID

       参数:

        -f:跟随最新的日志打印

        -t:加入时间戳

        --tail num:显示最后num条

        举例:docker run -d centos /bin/sh -c "while true;do echo hello world;sleep 2;done"//创建一个容器,运行shell脚本,死循环,每隔2秒打印一次hello world

        然后用docker logs -f -t --tail 100 容器ID查看打印

 

查看容器进程:docker top 容器名或者容器ID

 

看容器的细节:docker inspect 容器名或者容器ID

 

宿主机与docker容器交互:

      1)docker attach 容器名或者容器ID:重新进入后台容器的终端,不会启动新的进程

      2)docker exec -it 容器名或者容器ID + bashShell:在容器中执行bashShell命令,返回结果到宿主机终端。exec在容器中打开新的终端,会启动新的进程。docker exec -it 容器名或者容器ID /bin/bash 类似attach,进入就容器终端。

 

文件拷贝:docker cp 容器名或者容器ID:路径/文件 宿主机路径; 容器和宿主机可以互换,是将前者文件拷贝到后者路径。

 

docker 常用命令

原文:https://www.cnblogs.com/flycc/p/12747420.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!