戴国进
往后余生,专注人工智能领域!!!
展开
-
Docker Desktop将镜像存储位置从C盘迁移到其它盘
4、从 wsl 把镜像 dataext4.vhdx 导出到压缩文件 docker-desktop-data.tar,导出路径应提前创建好,否则导出到不存在的路径会报错。5、命令行执行 wsl --unregister docker-desktop-data,注销原来的 Docker 镜像。2、命令行执行 wsl --list -v 查看状态STATE,是否已停止Stopped。同理,执行 wsl --unregister docker-desktop。可以命令行执行wsl --list -v 看到。原创 2024-03-11 22:07:37 · 6176 阅读 · 0 评论 -
docker desktop 运行带 --gpus all 参数容器报:Auto-detected mode as ‘legacy‘ nvidia-container-cli: mount error
报错起因:执行 docker 运行容器命令:报错:failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #0: error running hook: exit stat原创 2023-12-25 21:17:05 · 3954 阅读 · 0 评论 -
Win11专业版安装Docker Desktop,并支持映射主机的gpu
1. 64位Windows 11 Pro(专业版和企业版都可以)2. Microsoft Hyper-V,Hyper-V是微软的虚拟机,在win11上是自带的,我们只需要启动就可以了。原创 2023-11-11 17:59:02 · 2193 阅读 · 0 评论 -
ubuntu 通过apt-get快速安装 docker
现在,Docker 已经成功安装在你的 Ubuntu 系统上。你可以使用 Docker 命令来管理容器和镜像。安装 Docker 之前,你需要确保你的系统已经准备好并且已经更新了软件包列表。以下是在 Ubuntu 系统上使用。请注意,Docker 的使用可能需要使用。将根据你的 Ubuntu 版本自动替换为对应的代号。来运行 Docker 命令。如果你选择将用户添加到。组中,请确保理解潜在的安全风险。请注意,上述命令中的。原创 2023-10-11 12:29:34 · 1872 阅读 · 0 评论 -
docker 批量快速删除容器和镜像
在执行这些命令时务必小心,因为删除的镜像无法恢复。如果你只是想清理一些空间,还有其他方法,例如使用。原创 2023-08-16 21:24:59 · 3417 阅读 · 0 评论 -
docker: Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]问题解决
我们知道,想要在 docker19 及之后的版本中使用 nvidia gpu 已经不需要单独安装 nvidia-docker 了,这已经被集成到了 docker 中。另外需要注意的是,这个东西是不能直接 apt install,会报找不到该软件,需要先添加英伟达的 apt 软件源。相必大家也知道,要使用宿主机的 GPU,需要在 docker run 的时候添加 --gpus [xxx] 参数。实际上,我们在通过 --gpus 参数来使用宿主机的 GPU 时,需要先安装一个英伟达的容器运行。原创 2023-03-14 20:59:25 · 10614 阅读 · 0 评论 -
Dockerfile 编写踩坑汇总
WORKDIR 指定工作目录(或称当前目录),以后各层的当前目录就被改为指定的目录,如该目录不存在,WORKDIR 会自行创建。第一层 RUN cd /app 的执行仅仅是当前进程的工作目录变更,一个内存上的变化而已,其结果不会造成任何文件变更。在 Shell 中,连续两行是同一个进程执行环境,因此前一个命令修改的内存状态,会直接影响后一个命令;第二层启动的是一个全新的容器,跟第一层的容器更完全没关系,自然不可能继承前一层构建过程中的内存变化。bash 支持 source。sh 不支持 source。原创 2023-02-10 22:04:29 · 2038 阅读 · 0 评论 -
docker 容器使用 loki 插件收集日志
相关资料: The log-opts in the /etc/docker/daemon.json is not relaoded - General Discussions - Docker Community ForumsRecently I want to use loki-log-driver to ship logs to the loki server. The docker-deamon is controlled by systemd. The /etc/docker/daemon.json原创 2023-01-07 21:31:38 · 1050 阅读 · 0 评论 -
解决 docker 容器无法正常解析域名
a. docker内修改。在/etc/resolv.conf添加一下内容。这种方法只能修改单个docker容器。b. 宿主机内修改。这种方法之后创建的docker容器都会生效。返回如果是not running就说明不是防火墙问题。b. 修改/etc/sysctl.conf。重启主机或者执行下面的命令使之生效。检查docker的DNS服务器。如果为no,执行下面的命令开启。如果返回的结果为0说明未开启。检查宿主机是否开启转发功能。查看防火墙是否开启伪装功能。查看DNS服务器是否正确。a. 直接修改上述文件。原创 2022-11-07 12:26:30 · 4450 阅读 · 0 评论 -
修改已运行的 Docker 容器端口映射、环境变量和挂载目录
pid=host 表示允许容器共享宿主机的进程命名空间(namespace),或者通俗点儿解释就是允许容器看到宿主机中的各种进程;因为在 Docker for MacOS 中,容器的宿主机并不是 MacOS 本身,而是在 MacOS 中运行的一个 VM 虚拟机。需要注意的是,修改的时候请使用。如果你的容器还没有构建时,想添加端口映射时,你只需要在创建容器的时候添加。进行操作的,请务必将容器 id 换成你自己需要修改的容器 id。配置文件中也记录了端口,也需要进行修改,如果没有,就不需要改。.........原创 2022-08-29 21:37:46 · 2261 阅读 · 0 评论 -
Docker 容器的 health 健康状态检查
Docker Daemon 会自动监控容器中的 PID1 进程,如果 docker run 命令中指明了 restart policy,可以根据策略自动重启已结束的容器。指令的 Dockerfile 构建出来的镜像,在实例化 Docker 容器的时候,就具备了健康状态检查的功能。指令声明了健康检测命令,用这个命令来判断容器主进程的服务状态是否正常,从而比较真实的反应容器实际状态。如果是以 supervisor 来管理容器的多个服务,想通过子服务的状态来判断容器的监控状态,可以使用。...原创 2022-08-29 21:19:08 · 2169 阅读 · 0 评论 -
一文看懂 Dockerfile的 CMD 与 ENTRYPOINT 命令区别
主机宿主机:VirtualBox:docker-machinedocker所以我们在 Windows系统上运行docker命令时首先要启动docker-machinedocker-machine start default而docker-machine可以创建多个,默认执行docker命令是在名称为 default 的 docker-machine 下执行的,如果想要修改的话可以到环境变量中修改名为 DOCKER_MACHINE的环境变量即可 .# git bash 中执行打开资源管理器s原创 2020-05-17 23:06:26 · 8532 阅读 · 0 评论 -
CentOS7卸载、安装docker 及 解决启动容器报错:starting container process caused container init exited prematurely
直接使用 yum remove docker 发现卸载不了;网上搜了下,使用下面步骤成功卸载1.查询安装过的软件包yum list installed | grep docker2.卸载安装的软件包yum -y remove docker.x86_643.删除镜像/容器等rm -rf /var/lib/docker...原创 2020-11-18 16:21:57 · 6836 阅读 · 0 评论 -
Docker-compose 在线安装
安装方式一:(亲测可行)1. 拉取docker-composecurl -L https://github.com/docker/compose/releases/download/1.23.0-rc3/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose2. 给docker-compose添加可执行权限chmod +x /usr/local/bin/docker-compose安装方式二:1. 拉取do原创 2020-05-13 16:33:38 · 7679 阅读 · 0 评论 -
Docker通过容器生成镜像
根据镜像启动容器:docker run根据启动的容器创建新的镜像:docker commit将由容器生成的镜像push到镜像仓库dockerhubpush失败之后,需要根据镜像仓库的路径打tag,然后提交到镜像仓库:在另一台服务器下载上图push到镜像仓库的新镜像...转载 2020-05-25 22:08:54 · 10331 阅读 · 0 评论 -
docker安装kafka集群
1.拉取镜像docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafka2. 启动zookeeper容器docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper3. 启动kafka容器docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA...转载 2020-05-19 17:51:27 · 7959 阅读 · 0 评论 -
docker run 指定 entrypoint
建议直接看官网文档https://docs.docker.com/engine/reference/run/#entrypoint-default-command-to-execute-at-runtime文章里详解了docker run 的以下参数作用:CMD (Default Command or Options)ENTRYPOINT (Default Command to Execute at Runtime)EXPOSE (Incoming Ports)ENV (Environm原创 2021-04-21 17:26:10 · 13793 阅读 · 0 评论 -
详解 docker save 与 docker export 的区别
缘起docker save和docker export都能导出镜像包,咋看起来区别似乎不大。本文就针对这个问题,试图搞清楚docker save和docker export的功能是什么?适用于什么应用场景?本文的测试的Docker版本如下,不保证所有版本的docker都能重现本文的结果。>docker versionClient: Version: 17.07.0-ce-rc1 API version: 1.31 Go version: go1.8.3 Git转载 2021-07-15 15:59:09 · 16740 阅读 · 0 评论 -
docker: Error response from daemon: driver failed programming external connectivity on endpoint php
Docker容器做端口映射报错或者宿主机防火墙改动都可能造成:docker: Error response from daemon: driver failed programming external connectivity on endpoint lamp3 (46b7917c940f7358948e55ec2df69a4dec2c6c7071b002bd374e8dbf0d40022c): (iptables failed: iptables --wait -t nat -A DOCKER -p原创 2020-12-17 15:19:45 · 4921 阅读 · 0 评论 -
docker容器无法启动,修改容器内文件2种方式
方法一(个人推荐这种方式)把docker容器中的配置文件复制到主机中,然后在主机中修改,修改完成后再复制到docker容器中1. 复制docker容器的文件到主机中docker cp [容器id]:docker容器中配置文件路径 主机路径docker cp mysql:/etc/mysql/my.cnf /home/my.cnf2. 修改配置文件中出错的部分3. 配置文件到docker容器中docker cp 主机文件路径容器id:docker容器中配置文件路径docke..原创 2020-11-09 14:29:39 · 10954 阅读 · 5 评论 -
Win10 ssh登录虚拟机(Centos7)里面的docker容器
2020.12.17 亲测可行一、Windows、Linux虚拟机、docker关系图如果此时在Windows宿主机中pingDocker容器是ping不同的,因为在宿主机上没有通往172.17.0.0/24网络的路由,宿主机会将发往172.17.0.0/24网络的数据发往默认路由,这样就无法到达容器。二、操作2.1 关闭Linux中的防火墙[root@bigdata ~]# systemctl stop firewalld.service (这一步很重...原创 2020-12-17 14:55:11 · 4603 阅读 · 0 评论 -
docker 安装 jerkins 并集成 gitlab 自动部署代码
一、Jenkins 安装docker pull jenkinsci/blueoceandocker run -u root -d -p 50001:8080 -p 50000:50000 -v /etc/localtime:/etc/localtime -v /root/jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --name jenkins jenkinsci/blue...原创 2020-05-22 15:57:01 · 8045 阅读 · 0 评论 -
docker 通过 firewalld、iptables 端口映射 及 解决外部主机无法访问问题
docker容器内提供服务并监听8888端口,要使外部能够访问,需要做端口映射。docker run -it --rm -p 8888:8888 server:v1此时出现问题,在虚机A上部署后,在A内能够访问8888端口服务,但是在B却不能访问。这应该是由于请求被拦截。一、查看firewall-cmd --state如果输出的是“not running”则FirewallD没有在运行,且所有的防护策略都没有启动,那么可以排除防火墙阻断连接的情况了。如果输出的是“running转载 2021-02-24 10:08:25 · 9296 阅读 · 0 评论 -
Docker 清理容器 log 日志
docker logs <容器ID> 是常用命令,来查看容器运行日志,但时间长了之后,就会发现越来越慢,log 太多了,这时就需要清理一下。先查看日志文件位置:$ docker inspect --format='{{.LogPath}}' <容器ID>/var/lib/docker/containers/545e06a75cc0ac8f8c1e6f7217455660187124a3eed031b5eb2f6f0edeb426cb/545e06a75cc0ac8f.转载 2020-06-30 10:36:32 · 10859 阅读 · 0 评论 -
修改dockerfile中的hosts文件
我有一个带有RUN指令的Dockerfile来修改/ etc / hosts文件,但它不起作用.FROM dockerhub.mydomain.com/sometag/java8 MAINTAINER itsme ADD some-java-app.jar app.jar ADD hosts tmp/ ENV PATH=/opt/java/bin:$PATH RUN cat /tmp/hosts >> /etc/hosts CMD ["java",\ "-Djava.se.原创 2020-09-27 18:16:37 · 18315 阅读 · 3 评论 -
解决 docker 启动容器报 iptables: No chain/target/match by that name
问题:Error response from daemon: driver failed programming external connectivityon endpoint jenkins (a8ea15bf9b3dbed599d059d638f79f9dd5e875556c39bfb41e6563d3feedb81b):(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 50000 -j.转载 2021-02-20 16:38:52 · 33176 阅读 · 2 评论 -
docker 进入容器执行su命令报 su: must be suid to work properly
解决方法:先执行:docker exec -it --user root zabbix-web(容器名)sh以root用户进入docker 容器,修改busybox权限,chmod 4755 /bin/busyboxchmod 4755与chmod 755 的区别在于开头多了一位,这个4表示其他用户执行文件时,具有与所有者相当的权限。chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。一般是三个数字:第一个数字表示文件所有者的权限第二个数字表示与..转载 2021-03-05 19:59:37 · 6413 阅读 · 0 评论 -
Dockerfile 指令 VOLUME 介绍
通过docker run命令的-v标识创建的挂载点只能对创建的容器有效。通过dockerfile的 VOLUME 指令可以在镜像中创建挂载点,这样只要通过该镜像创建的容器都有了挂载点。还有一个区别是,通过VOLUME 指令创建的挂载点,无法指定主机上对应的目录,是自动生成的。#testFROM ubuntuMAINTAINER hello1VOLUME ["/data1","/data2"]上面的dockfile文件通过VOLUME指令指定了两个挂载点 /data1 和 /data.原创 2020-09-29 17:49:44 · 7683 阅读 · 0 评论 -
docker-compose 安装 loki+promtail+grafana
loki进行日志聚合处理类似elk中的espromtail是日志收集,类似elk中的logstashfilebeat等,如果是只收集docker容器的日志则可以用loki的dockerplugin替代grafana是日志显示,类似elk中的kibana,可以通过各种标签和表达式过滤显示日志docker-compose.yml内容如下version"3"networkslokiserviceslokiimagealwaysports-31003100。............原创 2022-07-29 12:31:40 · 1832 阅读 · 0 评论 -
基于 Docker 的 MongoDB 主从集群
概述前序--聊聊数据库升级方案 一主一从 一主两从 一主一从一仲裁本来是想用 MongoDB 的 Docker 最新镜像的,但是 最新镜像默认绑定了 localhost (详见官网)才能连接数据库,当然,我们也可以进行修改。那我这边为了方便,就直接使用 mongo 3.4 ,因为 3.4 的版本没有绑定 localhost 省去一部分麻烦。前序--聊聊数据库升级方案在学习集群之前,我们来聊聊数据库的升级方案,我个人认为有如下一些阶段,如果我的认知有错误,也烦请读者朋友指出。阶.转载 2020-05-13 19:25:31 · 7835 阅读 · 0 评论 -
docker 工作中常用操作
--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限-v /docker/redis/conf/redis.conf:/etc/redis/redis.conf 映射配置文件-v /docker/redis/data:/data:映射数据目录--appendonly yes:开启数据持久化 --restart=always 只要docker是启动的,容器就会跟着启动 --ip: 为容器制定一个固定的ip--net:...原创 2020-10-08 10:34:09 · 6132 阅读 · 1 评论 -
windows 10 下运行 docker desktop 报错 cannot enable hyper-v service
刚装完最新版的 DockerDesktop ,启动时出现以下提示:首先在命令行中输入 systeminfo 检查验证硬件兼容性,然后检查“ Hyper-V 要求”部分,验证Windows中的硬件兼容性。如果所有列出的Hyper-V要求的值都为Yes,则系统可以运行Hyper-V下,如下图:同样需要四项均为“是”才符合运行Hyper-V虚拟机的要求。之后进入 bios 开启:注:不同的主板BIOS设置项不同,但大同小异。进入CPU Configura...原创 2021-09-13 11:29:53 · 1355 阅读 · 0 评论 -
通过镜像反推Dockerfile命令的两种方法
注意,如果是通过 docker commit 生成的镜像,只能拿到基础镜像的 Dockerfile 参 python3.9-slim 官方镜像为例,输出 :首先他不是一个命令,他是一个工具dfimage是一个alpine的镜像,启动的时候,通过将docker.sock映射到容器内部来运行,通常将这个操作做成别名,让他变成一个工具(做完别名不能换新的bash,否则该别名就会消失,如果不想消失,可以做一个永久的别名,这样不管在任何地方都可以用了)还是以 python:3.9-slim 官方为例,输原创 2022-06-14 09:53:46 · 1851 阅读 · 0 评论 -
Docker修改hosts方法
方法一:直接进入容器中修改/etc/hosts缺点:重启容器后,增加的内容会丢失方法二:制作镜像的时候,直接修改。限制: 需要是root用户,需要在容器中安装sudo 增大了镜像大小 方法三:使用docker run运行一个新的容器的时候,通过参数--add-host来添加域名和IP信息到容器的/etc/hosts文件中。例如:docker run --add-host=myhostname:10.180.8.1 --name test -it debia.原创 2020-08-12 11:47:46 · 13767 阅读 · 0 评论 -
解决运行容器报错: Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2
环境:centos7.1#docker run docker.io/hello-world运行上面的命令开启容器时报错:/usr/bin/docker-current:Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/1b1d4a0234ee4ca31eaf3c0b9f...原创 2020-04-30 21:14:09 · 50331 阅读 · 8 评论 -
基于docker安装ElasticSearch集群(单机两节点)
一、安装前准备1、ElasticSearch是基于java的需要安装jdk环境,我这里由于是使用最新版的7.4.0,需要支持LTS,jdk9以上才支持,所以这里我使用openjdk,使用docker直接拉取:docker pull openjdk:9ps:也可以尝试使用openjdk11---docker pull openjdk:112、vm.max_map_count内核设置需要至少设置为262144用于生产#查看vm.max_map_count命令grep ..转载 2020-05-19 10:20:26 · 7738 阅读 · 0 评论 -
docker批量删除容器、镜像
1、删除所有容器docker rm `docker ps -a -q` # 参数 -q 只显示 id 列2、删除所有镜像docker rmi `docker images -q`3、按条件删除镜像 没有打标签docker rmi `docker images | awk '/<none>/ { print $3 }'` 镜像名包含关键字docker rmi --force `docker images | grep openapi | g原创 2021-05-21 11:56:25 · 651 阅读 · 0 评论 -
创建带用户认证的docker私有仓库与管理
下载registry 镜像registy为docker官方提供的一个镜像,我们可以用它来创建本地的docker私有仓库。docker pull registrycd /opt/创建一个auth 权限目录mkdir auth利用htpasswd将密码加密保存docker run --entrypoint htpasswd registry:2 -Bbn liaochao 123456 > auth/htpasswd完成后检查是否有加密过后的密码[roo.转载 2020-05-28 11:16:43 · 8218 阅读 · 0 评论 -
Docker镜像源修改
docker默认的源为国外官方源,下载速度较慢,可改为国内,加速方案一修改或新增 /etc/docker/daemon.json# vi /etc/docker/daemon.json{"registry-mirrors": ["http://hub-mirror.c.163.com"]}systemctl restart docker.service方案二修改或新增 /etc/sysconfig/docker,在OPTIONS变量后追加参数--registry...转载 2020-05-12 11:14:18 · 7738 阅读 · 0 评论 -
docker 安装kibana 7.4.0 并配置连接es
使用和 elasticsearch 相同版本镜像 7.4.0(最好和es版本一样,免去一大堆麻烦,logstash的版本选择也一样)1、下载Kibana镜像# 下载Kibana镜像 docker pull kibana:7.4.0# 查看镜像docker images2、编辑kibana.yml配置文件kibana.yml配置文件放在宿主机/root/kibana/目录下,内容如下:#Default Kibana configuration for docker targe..原创 2020-07-21 15:54:18 · 9649 阅读 · 0 评论