Docker常用命令

本文详细介绍了如何使用Docker生成镜像,包括配置Dockerfile、生成及管理镜像的过程。同时,深入讲解了容器的运行、管理与日志查看方法,以及容器与宿主机间的文件交换技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、镜像

  • 生成镜像

      1.配置生成镜像的Dockerfile文件:
      在jar包或软件同目录下创建名为Dockerfile的文件,编辑内容:
      FROM java:8
      MAINTAINER yuantx
      ADD spring-boot-16-0.0.1-SNAPSHOT.jar demo.jar
      EXPOSE 8083
      ENTRYPOINT ["java","-jar","demo.jar"]
    
      注:
      from指令指明了当前镜像的基镜像,编译当前镜像时自动下载基镜像。
      MAINTAINER指明作者
      ADD 复制jar文件到镜像中去并重命名为demo.jar
      EXPOSE暴露8080端口
      ENTRYPOINT启动时执行java -jar demo.jar
    
      2.生成镜像命令
      docker build -t 镜像名称 .(“.”点符号切勿忘记)
    
  • 查看镜像

      docker images
    
  • 查看镜像详情

      docker inspect 镜像ID
    
  • 删除镜像

      docker rmi 镜像ID或名称
    
  • 备份镜像

      docker save 镜像ID或名称 -o ~/demo.tar(xxx.tar)
    
      docker export compose_redis_1 >compose_redis_1.tar
    
      (生成镜像:cat compose_redis_1.tar | sudo docker import - redis:latest)
    

    推荐使用 镜像名称(镜像仓库:标签),导入的时候,名称不会变

  • 导入镜像

      docker load -i xxx.tar
    
  • 镜像重命名

      docker tag 镜像ID nginx:1.15(仓库:标签)
    

二、容器

  • 运行容器

      docker run -d -p 80:80 -p 443:443 --name xxxx 镜像名称
    
      	-d指后台运行
      	-p 80:80指将容器的80端口映射到服务器上的80端口
    
  • 查看容器

      docker ps(查看运行中的容器)
    
      docker ps -a(查看所有的容器)
    
  • 容器名称重命名

      docker rename 原容器名 新容器名
    
  • 启动容器

      docker start 容器名称或ID
    
      docker restart 容器名称或ID
    
  • 关闭容器

      docker stop 容器名称或ID
    
      docker kill 容器名称或ID
    
  • 删除容器

      docker rm -f 容器名称或ID
    
  • 进入容器

      docker exec -i -t 容器名称或ID /bin/bash
      进入后,操作跟linux一样,ls,cat,cd等
    
  • 查看容器日志

      docker logs -f 容器名称或ID
    
      Options:
    
      --details        显示更多的信息
    
      -f, --follow         跟踪实时日志
    
      --since string   显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
    
      --tail string    从日志末尾显示多少行日志, 默认是all
    
      -t, --timestamps     显示时间戳
    
      --until string   显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
    
      docker logs -t --tail 100 --since="2019-06-13" compose_iforbao_1 | grep 103758
    
  • 容器与宿主机之间的文件拷贝

      宿主机拷贝到docker容器中:
      docker cp /opt/app/aaa.txt compose_nginx_1:/etc/nginx/
    
      docker容器中拷贝到宿主机上:
      docker cp compose_nginx_1:/etc/nginx/aaa.txt /opt/app/
    
  • 查看容器日志路径和Ip

      获取docker容器的日志路径:
      docker  inspect  --format '{{.LogPath}}'  compose_iforbao_1
    
      获取容器的IPAddress:
      docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' compose_iforbao_1
    

转载于:https://my.oschina.net/yuantangxi/blog/2988157

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值