docker常用命令大集结

1.获取镜像

docker search centos               #搜索镜像, 优先选官方,stars数量多
docker pull centos:6.9             #拉取镜像(下载镜像),注意版本
docker push nginx                  #推送镜像(上传镜像)
docker load                        #导入镜像
   例子: docker load  -i  docker_nginx.tar.gz
docker save                        #导出镜像
   例子:docker save centos:7 -o docker_centos7.tar.gz
docker image  ls                   #查看镜像列表
docker tag                         #给镜像打标签

2.查询镜像

docker images
docker images -q 
docker inspect ID/name:tag

3.删除镜像

docker rmi  IID                               #删除某个镜像
docker rmi `docker images -q`                 #批量删除
docker rmi $(docker images -q)                #批量删除
docker image prune -a --filter "until=24h"    #清空24h之前的所有镜像

4.导入导出镜像

docker image save nginx >/opt/nginx.tar.gz
docker image load -i /opt/nginx.tar.gz

5.清理命令

docker image prune       #清理未使用的镜像
      --all, -a false    #显示所有映像(默认隐藏中间映像) 
      --force, -f false  #不要提示确认
docker container prune   #清理无用的容器
docker volume prune      #清理无用的数据卷

6.docker容器基础管理

docker  run                  #创建并启动容器
      例子:docker run  -d -it -p 80:80  nginx:latest
docker  create               #创建容器 --name
docker  start                #启动容器
docker  stop                 #停止容器
docker  restart              #重启容器
docker  kill                 #强制停止容器
docker  ps                   #查看容器列表   -a 查看所有容器
docker  rm                   #删除容器
       批量删除所有容器 docker rm -f `docker ps -a -q`
docker exec                  #进入正在运行的容器(分配一个新终端)
       例子: docker exec  -it  容器id/容器名字  /bin/bash(/bin/sh)
docker attach  进入正在运行的容器(使用相同的终端),偷偷离开的快捷键ctrl +p+q(exit真正退出)
docker pause                 #中止容器,暂停容器内的所有进程,
                              此时,通过docker stats可以观察到此时的资源使用情况是固定不变的,
                              通过docker logs -f也观察不到日志的进一步输出。
docker unpause               #解除中止,恢复
docker logs   -t --since="2018-12-26 06:39:22" --until "2018-12-26 06:39:55" c-front  #根据时间段查看容器操作日志
docker top                   #查看正在运行的进程
wait      Block until a container stops, then print its exit code
          --捕捉容器停止时的退出码
          执行此命令后,该命令会“hang”在当前终端,直到容器停止,此时,会打印出容器的退出码。
--------------------------------------------------------------------------------------------------------
export    Export a container's filesystem as a tar archive
          --将容器的文件系统打包成tar文件
              有两种方式:
              docker export -o mysqldb1.tar mysqldb
              docker export mysqldb > mysqldb.tar
---------------------------------------------------------------------------------------------------------
docker events [options] :从服务器获取实时事件。
OPTIONS说明:
-f :根据条件过滤事件;
--since :从指定的时间戳后显示所有事件;
--until :流水时间显示到指定的时间为止;

docker history [options] image:查看指定镜像的创建历史。
OPTIONS说明:
-H :以可读的格式打印镜像大小和日期,默认为true;
--no-trunc :显示完整的提交记录;
-q :仅列出提交记录ID。

docker logs [options] container:#查看指定容器的操作日志
Options:
        --details        显示更多的信息
    -f, --follow         跟踪日志输出,最后一行为当前时间戳的日志
        --since string   显示自具体某个时间或时间段的日志
        --tail string    从日志末尾显示多少行日志, 默认是all
-t, --timestamps     显示时间戳
-----------------------------------------------------------------------------------------
login     Register or log in to a Docker registry
              --登录到自己的Docker register,需有Docker Hub的注册账号
              [root@localhost ~]# docker login
              Username: ivictor
              Password: 
              Email: xxxx@foxmail.com
              WARNING: login credentials saved in /root/.docker/config.json
              Login Succeeded
logout    Log out from a Docker registry
              --退出登录
              [root@localhost ~]# docker logout
              Remove login credentials for https://index.docker.io/v1/

七、查看容器IP

就算容器内部没有ip、ifconfig等命令,也可以获取IP

7.1 获取单个容器的IP

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id

7.2 要获取所有容器名称及其IP地址

docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)

如果使用docker-compose命令将是:

docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

7.3 显示所有容器IP地址

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

7.4 实操

可以考虑在 ~/.bashrc 中写一个 bash 函数:

function docker_ip() {
? ? sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ?$1
}
function dockeriplist() {
? ? sudo docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
}

7.4.1 查看单个容器IP

docker_ip <container-ID>

7.4.2 查看所有容器IP

dockeriplist
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CN-FuWei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值