Docker

技.技术研究182 阅读约 8 分钟

  • 镜像
    1. dockerhub 拉取镜像
      1. docker pull
    2. 查看所有镜像
      1. docker image ls
      2. -a: 显示全部镜像
      3. -q: 只显示id
      4. rm image1 image2: 删除镜像
      5. rm -f image1 image2: 强制删除镜像
      6. rm -f $(docker image ls -aq)
    3. 查看镜像详情
      1. Docker image inspect <镜像名字>
    4. 保存镜像(将我们的镜像 保存为tar 压缩文件 这样方便镜像转移和保存 ,然后 可以在任何一台安装了docker的服务器上 加载这个镜像)
      1. docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
        1. 示例:docker save tomcat -o /myimg.tar
    5. 加载镜像(任何装 docker 的地方加载镜像保存文件,使其恢复为一个镜像)
      1. docker load -i 镜像保存文件位置
    6. 打包镜像
      1. 打包镜像需要Dockerfile 文件
      2. docker image build -t <新镜像名字>
      3. 指定dockerfile路径:docker image build -f Dockerfile.bad
      4. --build-arg VERSION=2.0.0: 可以覆盖dockerfile内的ARG VERSION
    7. 查看镜像分层
      1. Docker image history <镜像id、名字>
    8. 提交到dockerhub
      1. Docker push zzlwte/image
    9. 自己提交一个镜像
      1. docker commit -m="提交信息" -a="作者信息" 容器名/容器ID 提交后的镜像名:Tag
    10. 清除所有无容器使用的镜像
      1. 此命令只要是镜像无容器使用(容器正常运行)都会被删除,包括容器临时停止
      2. docker system prune -a
    11. 镜像标签
      1. docker tag 源镜像名:TAG 想要生成新的镜像名:新的TAG
        1. 如果省略TAG 则会为镜像默认打上latest TAG
  • 容器
    1. 创建容器
      1. Docker container run --name sh
        1. -d(-detach):在后台运行容器,并且打印容器id
        2. -it: 表示与容器进行交互式启动
        3. -itd:等于(-d)+(-it)
        4. -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
        5. --name nginx1.18: 为容器指定一个名称
        6. -e username="ritchie": 设置环境变量
        7. -v 数据挂载: 宿主机文件存储位置:容器内文件位置
        8. --rm 就像 bash 中的 rm 命令一样,它会删除容器,但这里它会在该容器退出时进行删除
        9. sh:交互式路径
        10. docker服务启动而自动启动
          1. --restart=always
    2. 查看所有容器
      1. docker container ls
      2. docker container ls -a: 显示所有容器
    3. 进入容器
      1. Docker exec命令
        1. 使用 docker exec -it 容器id sh 进入容器并开启一个新的bash终端。 退出容器终端时,不会导致容器的停止
        2. docker exec -it 容器名/容器ID sh
        3. docker exec -it -w: 在工作目录中运行命令
      2. Docker attach命令
        1. 使用 docker attach 容器id 进入正在执行容器,不会启动新的终端, 退出容器时,会导致容器的停止。
        2. 当多个窗口同是attach到同一个容器的时候,所有窗口都会同步显示;当某个窗口因命令阻塞时,其他窗口也无法执行操作
    4. 退出容器
      1. 直接退出 未添加 -d(持久化运行容器) 时 执行此参数 容器会被关: exit
      2. 优雅退出 --- 无论是否添加-d 参数 执行此命令容器都不会被关闭
        1. Ctrl + p + q
    5. 重启容器
      1. docker restart 容器ID/容器名
    6. 启动容器
      1. docker start 容器ID/容器名
    7. 停止容器
      1. docker container stop 容器名/容器ID
    8. 强制停止容器
      1. docker kill 容器ID/容器名
    9. 删除容器
      1. 删除全部容器:docker rm -f $(docker container ls -aq)
    10. 容器文件拷贝 —无论容器是否开启 都可以进行拷贝
      1. 从容器内 拷出
        1. docker cp 容器ID/名称: 容器内路径 容器外路径
      2. 从外部 拷贝文件到容器内
        1. docker cp 容器外路径 容器ID/名称: 容器内路径
    11. 查看容器日志
      1. docker logs -f --tail=要查看末尾多少行 默认all 容器ID
    12. 修改其启动配置
      1. docker container update --restart=always 容器Id 或者 容器名
        1. 危不危险,这个容器有没有需要数据恢复的情况?自己考量吧!!!
    13. 更换容器名
      1. docker rename 容器ID/容器名 新容器名
    14. 删除所有停止的容器
      1. docker system prune -f
    15. 查看容器进程情况
      1. docker container 容器id

相关文章

评论 (0)

还没有评论,来抢沙发