202011-22 Docker 拉取镜像及标签操作 pull | tag 重翻Fabric项目的源码,发现Docker部分内容,有很多不尽理解的地方,看着看着,就看到使用dockerpull拉取Fabric镜像及使用dockertag为镜像重命名,稍作思虑,发现虽然使用过,却未求甚解,得过且过,如今已经忘了如何运用……1.dockerpull从镜像源拉取镜像,一般来说是从DockerHub拉取镜像(image)dockerpull[OPTIONS]NAME[:TAG|@DIGEST]选项,简写默认描述?all-tags,-a... 继续阅读 >
202011-22 docker内网搭建dns使用域名访问替代ip:port的操作 比如我内网有个jenkins,我如果要访问它我得牢牢记住它的ip和端口,一个服务我还能记住,多个的话我可能需要一个方便记忆的域名记录一些内网服务第1步:准备好docker环境第2步:下载好镜像dockerpullandyshinn/dnsmasq:2.75第3步:运行dnsmasq#后台启动dockerrun-d-p53:53/tcp-p53:53/udp--cap-add=NET_ADMIN--namedns-serverandyshinn/dnsmasq:2.75#进入容器dockerexec-itdns-server/bin/sh#创建代理文件-添加外... 继续阅读 >
202011-22 解决Docker中的error during connect异常情况 刚开始接触Docker,遇到异常问题难免会手忙脚乱。没事的,学习就是这样子,在困难中不断地找到解决问题的方法,贵在坚持,加油!来了来了,问题来了,不要慌,看下面:我们正常打开了Docker后执行命令后报出errorduringconnect异常。后面给出了对应异常错误的解释:Noconnectioncouldbemadebecausethetargetmachineactivelyrefusedit.(无法连接,因为目标机器主动拒绝它。)这下子我们知道问题在哪了,我们的Docker... 继续阅读 >
202011-22 解决docker run 或者 docker restart 启动镜像就自动退出 执行命令:dockerrun--namecentos8-dcentos/bin/bash,通过dockerps查看正在运行中容器,找不到centos8。通过dockerps-a查看发现,centos8容器已经处于停止状态了[root@MiWiFi-R4A-srvserver]$dockerrun--namecentos8-dcentos/bin/basha770630ca865b3c3346a321a383f302ed22af9281be8482f4f4debc59218d0d1[root@MiWiFi-R4A-srvserver]$dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTS... 继续阅读 >
202011-22 docker 连接宿主Mysql操作 今天公司项目要配置docker,顺利在windows上装完了之后,发现连接不上本地的mysql,一直报权限问题或者地址错误的问题最后发现1:地址按照下面这个ipv4来2:要在宿主Mysql将localhost权限打开,命令如下mysql-uroot-pvmwaremysql>usemysql;mysql>updateusersethost='%'whereuser='root';mysql>selecthost,userfromuser;好了没了。补充知识:Docker连接数据库容器无法本地访问,但可以远程访问的问题前言以前我用id... 继续阅读 >
202011-22 Docker 使用nsenter工具进入容器的操作 在使用Docker容器的时候,利用nsenter工具会比较方便,如果我们的系统没有的话,那就需要我们自己来安装了1.首先访问该网址找到最新版本的nsenter工具2.然后下载nsenter工具的源码到我们的主机上输入命令:#wgethttps://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.32/util-linux-2.32.tar.gz3.解压.tar.gz包#tar-xzvfutil-linux-2.32.tar.gz4.进入util-linux-2.32的目录#cdutil-linux-2.32/5.输入./configure-... 继续阅读 >
202011-22 docker 在容器外执行某个容器内的某个命令操作 有时候我们想执行某个容器的某条命令,但又不想进入容器内。那该怎么办?于是脚本可以这样写#!/bin/bashDOCKER_ID=62f3f40ab240sudodockerexec-it$DOCKER_ID/bin/bash-c'cd/packages/detectron&&pythontools/train.py'done补充知识:解决docker容器与宿主机无缝调用shell命令问题我就废话不多说了,大家看解决方法吧~nsenter-t1-m-u-n-ish-c"echohelloworld!"(docker容器加上privilege权限,设置pid:"host... 继续阅读 >
202011-22 解决docker CMD/ENTRYPOINT执行sh脚本报: not found/run.sh: Dockerfile配置没有问题,为什么执行ENTRYPOINT命令时一直错误?容器一启动就退出了。查了不少资料,想了好久才发现原因。run.sh是被COPY指令复制到容器中的,而本机是windows,默认的换行符是\n,故而复制过去无法被执行。解决办法很简单,切换文件格式为LF即可。补充知识:docker中启动容器时CMD调用的sh脚本中if命令报未预期的符号if[[的解决办法最近通过Dockerfile编写镜像,CMD中调用的是sh脚本(start.sh)进行启动容器,通... 继续阅读 >
202011-22 docker 使用CMD或者ENTRYPOINT命令同时启动多个服务 需求:django中引入了celery,当启动django项目时,如何将celery服务也启动利用ENTRYPOINT命令启动一、编写Dockerfile文件FROMcentos:7RUNlocaledef-c-fUTF-8-izh_CNzh_CN.utf8ENVLC_ALLzh_CN.UTF-8COPY./hrms$CODE_DIR/hrms/COPY./run$CODE_DIR/run/RUNchmoda+x$CODE_DIR/run/*RUNpip3install-r$CODE_DIR/hrms/requirements.txtEXPOSE8080WORKDIR/opt/hrms/hrms/以上不用看,关键看下面这个命令... 继续阅读 >
202011-22 解决docker日志挂载的问题 关键是本地服务器没有写入的权限关键看这里吧(Permissiondenied),一直没有看正方,以为是配置日志文件找不到有问题,下面是部分异常10:35:09,498|-ERRORinch.qos.logback.core.rolling.RollingFileAppender[FILE]-openFile(null,true)callfailed.java.io.FileNotFoundException:logs/bandwidth.log.2019-04-25.log(Permissiondenied)atjava.io.FileNotFoundException:logs/bandwidth.log.2019-04-25.log(Per... 继续阅读 >
202011-22 解决Docker之mysql容器数据库更改不生效的问题 用官方的mysql镜像需要修改一些内容,比如配置文件的修改,DB数据文件的目录等,更改之后如果重新运行容器,改过的文件就无效了,新生成的容器不会有之前改变的内容第一种是修改官方下载的镜像,修改之后提交一个新的镜像文件dockercommit-m等新生成的镜像信息,第二种MYSQL的DB数据,容器关闭后如果用dockerrestart重启同一容器,那么数据是正常的,如果重新dockerrun容器那么数据就不会显示,因为每个容器都有一个文... 继续阅读 >
202011-22 docker文件存放路径, 获取容器启动命令操作 容器早已创建好,如何得知它的启动参数(数据挂载到哪)#假设通过如下命令启动了一个容器dockerrun-d--namemysql\-p3306:3306\-eMYSQL_ROOT_PASSWORD=123456\--restart=always\mysql:5.5--character-set-server=utf8#如何通过容器名得知启动参数[root@jenkins~]#dockerinspectmysql_cdh[{"Id":"fbc3fba81b57bc5b5871746098b5f1f7ef0ed7716a786584a5effbb88ba156e6","Created":"2019-09-25T01:43:37.7205058... 继续阅读 >
202011-22 Linux下docker 容器退出bash的两种实现方法 如果要退出bash有2种操作:第一种:Ctrl+d退出并停止容器;第二种:Ctrl+p+q退出并在后台运行容器;补充知识:Docker同时启动多个服务前几篇Docker的文章介绍启动容器时都是只启动一个后台服务,今天来说说怎样通过supervisor来启动多个服务1.首先创建一个目录并在目录下创建一个Dockerfile,文件内容如下FROMcentos:centos6MAINTAINERFanbinKong"kongxx@hotmail.com"RUNrpm-ivhhttp://dl.fedoraproject.org/pub/e... 继续阅读 >
202011-22 docker版es、milvus、minio启动命令详解 1、es启动命令:dockerrun-itd-eTAKE_FILE_OWNERSHIP=1111-v/data/elasticsearch/data:/usr/share/elasticsearch/data-p9200:9200--nameeselasticsearch:6.4.2需要添加环境变量TAKE_FILE_OWNERSHIP,值随意。含义请参考我的另一篇文章://www.jb51.net/article/200198.htm挂载目录用来存储es的数据。指定映射端口。用的es镜像为6.4.22、milvus启动命令:dockerrun-itd--namemilvus-hmilvus-p19530:19530-p1... 继续阅读 >
202011-22 docker 启动elasticsearch镜像,挂载目录后报错的解决 从dockerhub下载了一个es的镜像,版本为6.4.2,详细信息如下:比较重要的就是这两条,第一个是工作目录,挂载目录也需要和这里对应;第二个是启动命令,这里是指定了一个预先写好的启动脚本。所以我启动了一个空容器去查看了下容器内的情况:容器内部目录结构如上图,data是用来存放数据,logs用来存放日志。接着查看下启动脚本/usr/local/bin/docker-entrypoint.sh前半部分我也是看的一知半解,不过真正和挂载目录相关的是最后这... 继续阅读 >
202011-22 docker实现重新打tag并删除原tag的镜像 docker镜像id是唯一的,可以物理性的标明一个镜像,repository:tag可以有多个,但是也不会重复,也是唯一的。要重新打tag的话,语法是:dockertagimageIdrepository:newTag比如将这个centos:7重新打tag为centos7:base此时仓库中有两个镜像,镜像id相同,只是多了一个tag标签,也就是多了一个引用。删除不需要的引用即可,删除时必须用tag删除,用镜像id删除会物理性的删除镜像,这两个引用会同时被删除掉。当然,打tag的时候... 继续阅读 >