首页 > 其他分享 >docker常用配置以及命令

docker常用配置以及命令

时间:2022-11-04 18:24:29浏览次数:83  
标签:容器 常用 命令 https 镜像 docker id 运行

docker 添加源

windows


linux

①. 修改文件(没有则新增)
touch /etc/docker/daemon.json
vim /etc/docker/daemon.json

添加代码

Docker国内镜像源

Docker中国区官方镜像:https://registry.docker-cn.com
网易:http://hub-mirror.c.163.com
ustc:https://docker.mirrors.ustc.edu.cn
中国科技大学:https://docker.mirrors.ustc.edu.cn
阿里云:https://cr.console.aliyun.com/

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },
    "registry-mirrors": [
        "https://registry.docker-cn.com",
        "https://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.mirrors.ustc.edu.cn",
        "https://cr.console.aliyun.com/" 
]
}

复制进去重启即可

2. docker 命令

2.1. 基础命令_1

容器长期运行

docker run centos /bin/bash -c "while true;do sleep 1;done"

查看所有运行 的容器

docker ps -a

容器 后台 长期运行

docker run -d centos /bin/bash -c "while true;do sleep 1;done"

手动指定名字 来启动容器

docker run --name centos-while -d /bin/bash -c "while true;do sleep 1;done"

停止 docker

docker stop id


杀死进程

docker kill id

容器 每循环一秒 打印一个hello,world

docker run -d centos /bin/bash -c "while true;do sleep 1;echo hello,world;done"

进入容器内部
docker attach id

通过 docker exec -it + 短id 进入容器内部
docker exec -it + 短id

attach 和exec的区别

attach 和exec主要区别如下
attach 直接进入容器启动命令的终端,不会启动新的进程.
exec 则是在容器中打开新的终端 并且可以启动新的进程
如果像直接在终端查看命令的输出 用attach 其他请看用exec

2.2. 基础命令_2

容器运行
$ docker run -it centos /bin/sh
docker 客户端使用docker命令来运行 run参数 表明客户端要运行一个新的容器.
docker客户端要运行一个容器需要告诉 docker守护进程的最小参数是:

  1. 这个容器从哪个镜像中创建.这是centos,基础的centos镜像
  2. 在容器中要运行的命令,这里是/bin/bash 在容器中运行bash shell

那么运行这个命令在底层发生了什么?
按照顺序

  1. 拉取镜像 检查是否存在 如果没有会在docker pub中下载.如果已存在 创建新的容器
  2. 创建新的容器,当docker 有了这个镜像之后,docker 会用他创建一个新的容器.
  3. 分配文件按系统 并且挂载一个可读写的曾,容器会在这个文件系统中创建.并且一个可读写的曾被添加到镜像中,
  4. 分配网络/桥接接口,创建一个运行容器与本地主机通信的网络接口.
  5. 设置一个ip地址:从池中寻找一个可用的ip并且附加到容器中
  6. 运行你指定的程序 运行该程序
  7. 铺货并且提供应用输出: 链接并且记录标准输出,输入和错误,让你可以看到你的程序如何运行的

启动死掉的容器

docker start 短id

重启 docker容器

docker restart 短id

暂定 docker 容器

docker pause 短id

不会占用资源
重新运行 容器

docker unpause 短id

删除docker 容器
可以同时删除两个 空格隔开

docker rm 短id 短id

批量删除 所有死掉的docker

docker rm -v $(docker ps -aq -f status=exited)

删除镜像

docker rmi hello-world

2.3 基础命令_3 运维

可能有时候发布会遇到如下错误:
docker: write /var/lib/docker/tmp/GetImageBlob325372670: no space left on device
这个错误是docker在写入的时候报错无机器无空间
查看docker工作目录

sudo docker info | grep "Docker Root Dir"


查看docker磁盘占用总体情况

du -hs /var/lib/docker/ 

查看Docker的磁盘使用具体情况

docker system df

删除 无用的容器和 镜像

#  删除异常停止的容器
docker rm `docker ps -a | grep Exited | awk '{print $1}'` 
 
#  删除名称或标签为none的镜像
docker rmi -f  `docker images | grep '<none>' | awk '{print $3}'`

清除所有无容器使用的镜像
注意,此命令只要是镜像无容器使用(容器正常运行)都会被删除,包括容器临时停止

docker system prune -a

查找大文件

find / -type f -size +100M -print0 | xargs -0 du -h | sort -nr

查找指定docker使用目录下大于指定大小文件

find / -type f -size +100M -print0 | xargs -0 du -h | sort -nr |grep '/var/lib/docker/overlay2/*'

标签:容器,常用,命令,https,镜像,docker,id,运行
From: https://www.cnblogs.com/zichliang/p/16858698.html

相关文章

  • linux 中 awk命令中数组的应用
     001、基本用法[root@pc1test4]#lsa.txt[root@pc1test4]#cata.txtabcdbeadezbcade[root@pc1test4]#awk'{printay[$2]++}'a.txt01021......
  • python之常用方法
    查找列表中出现最频繁的元素使用max()函数可以快速查找出一个列表中出现频率最高的某个元素。>>>a=[1,2,3,4,3,4,5,4,4,2]>>>b=max(set(a),key=a.co......
  • 基于 Docker 构建轻量级 CI 系统:Gitea 与 Woodpecker CI 集成
    WoodpeckerCI是一个由社区维护的DroneCI分支,使用ApacheLicense2.0许可证发布。社区版进一步扩展了pipeline的功能特性、支持对文件路径设置pipeline执行条件,并......
  • idea 开发中常用快捷键设置
    快捷键总结1.1Ctrl+…功能快捷键删除当前行Ctrl+Y复制当前行,直接在下一行复制当前行Ctrl+D(Duplicate复制)选中文本,连续按可以扩大选中范围(以单词......
  • docker基本概念(一)
    docker官网和仓库地址docker官网:www.docker.com仓库hub.docker.comdocker能做什么提供系统平滑移植,容器虚拟化技术,软件带环境安装系统的快速扩容和缩容源码+配......
  • Linux查询块设备命令之 lsblk
    简介在Linux系统下面,lsblk用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等。lsblk命令包含在util......
  • Docker容器中使用GPU
    背景容器封装了应用程序的依赖项,以提供可重复和可靠的应用程序和服务执行,而无需整个虚拟机的开销。如果您曾经花了一天的时间为一个科学或深度学习应用程序提供一个包含大......
  • kubernetes(k8s)安装命令行自动补全功能
    Ubuntu下安装命令root@master1:~#aptinstall-ybash-completionReadingpackagelists...DoneBuildingdependencytreeReadingstateinformation...Donebash-c......
  • Docker服务不能被外部访问的问题
    在DigitalOcean上边申请了一台Ubuntu的机器,安装了Docker,部署了服务。 当时监听的是127.0.0.1的80端口,访问的时候在VM上curl127.0.0.1是没有问题的。 不过通过......
  • MYSQL数据备份之mysqldump命令详解
    一、mysqldump简介mysqldump是MySQL自带的逻辑备份工具。它的备份原理是通过协议连接到MySQL数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert语......