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 本地路径

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值