• docker容器日常维护指南


    制作镜像

    //当前目录下有默认的Dockerfile文件生成镜像
    docker build .
    //当前目录下有自定义的Dockerfile-xxx文件生成镜像
    docker build -f ./Dockerfile-xxx
    //当前目录下有自定义的Dockerfile-xxx文件生成镜像,并定义tag名称xxx.xx
    docker build -f ./Dockerfile-xx -t xxx.xxx

    镜像打标签

    //给镜像07c7f6c12184488bb31f57d228f40b38:temp 打标签
    docker tag 07c7f6c12184488bb31f57d228f40b38:temp harbor.dev.net/oms-stg/cart-service:20220822

    推送镜像到镜像仓库

    //推送镜像到harbor仓库
    docker push harbor.dev.net/oms-stg/cart-service:20220822

    拉取镜像

    docker pull harbor.dev.net/oms-stg/cart-service:20220822

    删除镜像

    docker rmi harbor.dev.net/oms-stg/cart-service:20220822
    //强制删除镜像
    docker rmi -f harbor.dev.net/oms-stg/cart-service:20220822

    启动容器

    //以交互方式启动容器
    docker run -it harbor.dev.net/oms-stg/cart-service:20220822 /bin/bash
    //以后台的方式启动容器,映射到宿主机的端口号为2222
    docker run -d -P 2222 harbor.dev.net/oms-stg/cart-service:20220822

    //启动一个已停止的容器,b750bbbcfd88容器ID
    docker start b750bbbcfd88

    进入容器

    docker exec -it b750bbbcfd88 /bin/bash

    停止容器

    docker stop b750bbbcfd88

    重启容器

    docker restart b750bbbcfd88

    容器备份&还原

    //导出容器作为备份
    docker export b750bbbcfd88 > test2022.tar

    //导入快照,并生成镜像为test/2022:v1
    cat docker/test2022.tar | docker import - test/2022:v1

    ##宿主机目录 /www/runoob复制到容器目录/www下
    docker cp /www/runoob 96f7f14e99ab:/www

    ##容器目录/www数据复制到宿主机目录/tmp下
    docker cp 96f7f14e99ab:/www /tmp/

    删除容器

    docker rm b750bbbcfd88

    //强制删除容器
    docker rm -f b750bbbcfd88

    查看容器

    //查看所有状态的容器
    docker ps -a
    //查询运行状态的容器
    docker ps

    查看容器详细配置

    docker inspect b750bbbcfd88

    查看容器内存、CPU使用率

    //查询所有容器当前CPU、内存、网络IO的消耗情况
    docker stats
    在这里插入图片描述
    //查看某一个容器内部所有运行的进程的CPU、内存占用情况
    docker top 133bbfc63f19
    在这里插入图片描述

    查看容器端口绑定情况

    docker port 133bbfc63f19
    在这里插入图片描述

    查看容器日志

    //实时查看日志
    docker logs -f 133bbfc63f19

    //离线查看一段日志内容
    docker logs --tail=500 133bbfc63f19

    //查看从指定时间2022-08-23到现在的日志内容
    docker logs -f --since “2022-08-23” 133bbfc63f19

    ##通过docker所在的宿主机的目录查看容器的运行日志
    cd /var/lib/docker/containers
    在这里插入图片描述
    然后根据上图所示的容器ID 进入对应的目录
    cd 6160a274f44a2b350c4c053a1032ff0c7ac5bbe5583da5121017f13aae520767
    在这里插入图片描述

    容器扩容

    //第1步,停止容器
    docker stop 98b37f0e33d2
    //第2步,增加内存限制
    docker update -m 4G --memory-swap -1 98b37f0e33d2
    在这里插入图片描述

    //第3步,启动容器
    docker start 98b37f0e33d2

    容器局部网络搭建

    //查询容器目前所有的局部网络
    docker network ls
    在这里插入图片描述
    //新建一个局域网络mynet
    docker network create mynet

    //将容器nginx连接到一个mynet网络
    docker network connect mynet nginx

    //将容器nginx从mynet网络中退出
    docker network disconnect mynet nginx

    容器挂载目录或文件

    //挂载多个目录文件
    docker run -it -v 本地路径1:容器路径1 -v 本地路径2:容器路径2 容器名

    在这里插入图片描述
    如上图所示如果出现挂载的目录没有权限的问题,则可以通过如下几种方式解决:
    1、在运行时加 --privileged=true
    docker run -it -v 本地路径1:容器路径1 -v 本地路径2:容器路径2 --privileged=true 容器名
    2、临时关闭selinux然后再打开
    setenforce 0
    setenforce 1
    在这里插入图片描述

    3、添加linux规则,把要挂载的目录添加到selinux白名单
    chcon -Rt svirt_sandbox_file_t 本地路径

  • 相关阅读:
    2022年全球市场有机硅结构密封胶总体规模、主要生产商、主要地区、产品和应用细分研究报告
    Tuxera NTFS2024破解版本下载
    LeetCode:200.岛屿数量
    MySQL之体系架构
    2023华为杯研究生数学建模D题区域双碳目标与路径规划研究思路代码详解
    Rsync已过时?替代文件同步方式了解一下
    无涯教程-JavaScript - XIRR函数
    【社媒营销】进来了解下Whatsapp Business API?出海群发不用愁!
    机器学习(10)---特征选择
    题目:黄金树(蓝桥OJ 4494)
  • 原文地址:https://blog.csdn.net/AiMaiShanHuHai/article/details/126505110