精华内容
下载资源
问答
  • Docker问题

    千次阅读 2016-02-12 23:46:55
    Docker问题

    在实践过程中遇到的一些问题。有些问题很奇怪,找不到原因——可见Docker当前不够成熟——但是多数问题能通过重启或重建虚拟主机解决,详细请参考Toolbox常见问题解决方案。这些问题不管已解决或未解决,都记录如下。

    环境

    操作系统:
    window:window7 service pack 1(window7.1) |
    ubuntu : Ubuntu 14.04

    问题1:(Windows,docker,解决)
    安装完docker之后,双击桌面菜单Boot2Docker Start显示打开方式,即无应用程序打开%boot2Docker%/start.sh文件。
    原因分析
    docker-install-1.8.exe包含三个部分:

    Oracle VM VirtualBox
    Git
    Boot2Docker for Windows

    双击桌面菜单Boot2Docker Start,实际上要自动执行boot2Docker安装目录下的start.sh文件。而.sh文件是需要使用安装的Git的命令执行的。Git默认安装在C:\Program Files (x86)\Git,使用git执行sh文件的命令git以下程序:C:\Program Files (x86)\Git\bin\sh.exe。

    出现此问题的原因,应该是环境变量设置的问题。可能是在安装docker之前已安装的git导致。

    解决方案

    • 在path系统环境变量中添加git的bin路径:C:\Program Files (x86)\Git\bin
    • 选择git安装路径bin目录下的sh.exe程序即可。

    问题2:(Windows,docker,解决)
    在window cmd提示下使用dokcer指令(如docker ps、docker info、docker version等)会提示如下错误

    Get http://127.0.0.1:2375/v1.20/info: dial tcp 127.0.0.1:2375: ConnectEx tcp: No
    connection could be made because the target machine actively refused it..
    * Are you trying to connect to a TLS-enabled daemon without TLS?
    * Is your docker daemon up and running?

    解决方案

    1. 确保boot2docker启动
      使用boot2docker status显示running

    2. 设置变量(注:以下信息在在boot2docker启动时提示的内容,boot2docker启动命令是boot2docker start)

      set DOCKER_HOST=tcp://192.168.59.103:2376
      set DOCKER_CERT_PATH=C:\Users{UserName}.boot2docker\certs\boot2docker-vm
      set DOCKER_TLS_VERIFY=1

    (注:这里只是设置的环境变量只是临时的,关闭cmd窗口后需要再次设置上面的环境变量。不想这么麻烦可将上面的直接添加到系统环境变量中)

    问题3:(Ubuntu,compose,解决)
    运行docker-compose up命令出现错误
    client and server don't have same version (client : 1.21, server: 1.18)

    解决方法:安装低版本docker-compose,或者安装最新版本的docker-Engine

    # 更新docker-engine
    sudo apt-get upgrade docker-engine
    # 重启服务
    sudo service docker restart

    问题4:(ubuntu,compose,未解决)
    在用docker-haproxy-web使用docker-compoise up运行时报错
    ERROR: for haproxy create haproxy/haproxy.cfg: "haproxy/haproxy.cfg" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed

    原因是docker-compose.yml的对volumes支持出现bug:不支持直接对文件挂载的数据卷

        volumes:
            - haproxy:/haproxy-override
            - haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy/haproxy.cfg:ro

    修改为直接挂载目录即可

        volumes:
            - haproxy:/haproxy-override
            - haproxy:/usr/local/etc/haproxy:ro

    * 但是又遇到了新的问题 *

    问题5:(Windows,Compose,解决)
    Windows文件目录如下(在virtualbox已经共享了windows的/c/users/目录

    /c/users/admin/learning/composetest
      +-- docker-compose.yml
      +-- Dockerfile
      +-- requirement.txt
      +-- app.py

    文件内容:
    docker-compose.yml

    web:
      build: .
      ports:
       - "5000:5000"
      volumes:
       - .:/code
      links:
       - redis
    redis:
      image: redis
    

    Dockerfile

    FROM python:2.7
    ADD . /code
    WORKDIR /code
    RUN pip install -r requirements.txt
    CMD python app.py

    在Dockerfile文件中基于python:2.7镜像安装requirement.txt中的组件,构建成新镜像。compose文件利用新镜像挂载当前目录,在python app.py命令运行时能够找到app.py文件。

    但是在Windows环境下运行命令docker-compose up -d,问题提示目录下找不到app.py文件。

    实际上在运行docker-compose命令之前,在virutalbox虚拟主机boot2docker目录中/c/users/admin/learning/composetest能够看到上面四个文件,但是运行docker-compose命令之后,再查看此目录,目录存在但目录下四个文件不存在了(Windows下的文件相应文件仍存在)。

    为什么docker-compose会屏蔽掉virtualbox的共享目录?

    解决方案:重启主机docker-machine restart default

    问题6:(Windows,Docker-Machine,解决)
    使用docker-machine create -d virtualbox创建主机,提示要更新但又由于网络的某些原因无法下载导致的错误如下:

    Running pre-create checks...
    (manager) Default Boot2Docker ISO is out-of-date, downloading the latest release...
    (manager) Latest release for github.com/boot2docker/boot2docker is v1.11.2
    (manager) Downloading C:\Users\Administrator\.docker\machine\cache\boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v
    1.11.2/boot2docker.iso...
    Error with pre-create check: "Get https://github-cloud.s3.amazonaws.com/releases/ 
    ...

    即使翻墙也有问题。那么能否不更新呢?docker-machine没有提供这样的参数(反正目前我没找到)。

    解决办法:把网络断掉,docker-machine就不会去检查boot2docker版本了!

    展开全文
  • Docker 问题汇总

    千次阅读 2018-08-23 18:42:32
    没法退出问题 当我们通过exec进入docker容器后,执行完一大堆命令后执行exit退出发现没法退出,一直提示 There are stopped jobs 其实这个和docker本身没有关系,是控制台关联的后端程序没有停止,子程序没有退出...

    容器没法退出问题

    当我们通过exec进入docker容器后,执行完一大堆命令后执行exit退出发现没法退出,一直提示

    There are stopped jobs

    其实这个和docker本身没有关系,是控制台关联的后端程序没有停止,子程序没有退出
    可以通过
    jobs命令查看当前有多少在后台运行的命令。若未指定jobsid,则显示所有活动的任务状态信息
    通过jobs命令查看job号(假设为num),然后执行kill %num

    bg 将进程搬到后台运行(Background);
    fg 将进程搬到前台运行(Foreground);
    ps 找出相关的进程,
    通过ps命令查看job的进程号(PID,假设为pid),然后执行kill pid
    然后关闭即可

    容器没法删除

    Driver devicemapper failed to remove root filesystem. Device is busy

    在生产环境devicemapper + docker 1.13版本的代码中出现了容器无法删除的问题。
    主要是挂载泄露导致
    当直接删除也会出现相同的问题

    remove /var/lib/docker/containers/4d9bbd9b4da95f0ba1947055fa263a059ede9397bcf1456e6795f16e1a7f0543/shm: device or resource busy
    
    find /proc/*/mounts | xargs grep "4d9bbd9b4da95f0ba1947055fa263a059ede9397bcf1456e6795f16e1a7f0543"
    

    可以发现这个文件被挂载到了很多地方,出现了挂载泄露的问题。老版本的解决方法是在docker.service里面加入下面参数,

    MountFlags=slave

    新版的,在docker 17.12.1 版本之后这个问题已经得到修复
    完整讨论的issue

    但不是所有的问题都能得到修复,下面这个docker引发发内核崩溃的bug以及持续四年多,并且有456个回复了,但是目前看最好的方式是重启机器,所以使用docker前还是需要慎重思考的。
    这里写图片描述

    展开全文
  • docker问题记录

    千次阅读 2018-08-24 10:37:49
    搜索镜像:docker search httpd 导入镜像:cat ccc10.tar | sudo docker import - lamp:5.6 下载镜像:docker pull centos:6.9 进入容器:docker run -it centos:6.9 /bin/bash 查看镜像:docker images 列出容器:...

    搜索镜像:docker search httpd
    导入镜像:cat ccc10.tar | sudo docker import - lamp:5.6
    下载镜像:docker pull centos:6.9
    进入容器:docker run -it centos:6.9 /bin/bash
    查看镜像:docker images
    列出容器:docker ps -a
    生成镜像:docker commit df0 centos:lnmp

    save-load:保存/导入镜像存储文件
    export-import:导出/导入容器文件

    生成镜像文件
    docker commit -o xx.tar 容器名(ID) 

    docker run -p 80:80 -v /data:/usr/share/nginx/html/zabbix -d centos:lnmpz3

    subscription-manager register --username=luobo617  --password=19920617183X  --auto-attach
    进入正在运行的容器:
    docker exec -i -t dfb2b622d502 /bin/bash


    问题:
    1.standard_init_linux.go:190: exec user process caused "exec format error"
    镜像中的执行文件、启动文件中有不符合linux系统的回车键,重新对执行脚本编辑,尽量英文模式下,手敲代码


    2.下载路径:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

    3.详见https://docs.docker.com/install/linux/docker-ce/centos/
    将下载后的安装包传至服务器,尽量可以使用yum安装,将路径改成存放该rpm包的路径,yum会安装其他插件
    sudo yum install /path/to/package.rpm 
    systemctl start docker
    docker version
    systemctl enable docker
    systemctl status docker

    4.解决 CentOS7 容器 Failed to get D-Bus connection: Operation not permitted
    docker run -d --privileged=true --name centos7 centos /usr/sbin/init
    用初始命令,D-Bus启动:/usr/sbin/init

    docker run  -v /root/ftpdir/:/root/ftpdir/ -p 8090:80 -p 10052:10052 --privileged=true centos:lnmpzi /usr/sbin/init
     

    展开全文
  • docker问题汇总

    千次阅读 2017-11-29 19:15:07
    1、 启动dockerdocker hv-sock proxy is not reachable问题 答:无权限, 需要以管理员身份启动docker应用解决

    1、 启动docker报docker hv-sock proxy is not reachable问题

    答:无权限,  需要以管理员身份启动docker应用解决

    展开全文
  • docker问题:container_linux.go:345: starting container process caused "process_linux.go:430 上一篇:离线安装docker服务. 由于前面是离线安装的docker服务,所以我所有的服务镜像都是打成tar包进来的。在...
  • 解决Jenkins中的docker in docker问题

    千次阅读 2020-08-12 14:06:28
    问题:在docker容器中的jenkins无法执行docker命令。 解决: 编写Dockerfile: FROM 192.168.0.150:9000/pension/jenkins:2.251 USER root #清除了基础镜像设置的源,切换成阿里云源 RUN echo '' > /etc/apt/...
  • Docker问题:"docker build" requires exactly 1 argument.

    万次阅读 多人点赞 2019-02-25 10:53:25
    在参照这docker官网教程学习构建镜像的时候。提示错误:“docker build” requires exactly 1 argument. 原因是因为(少了一个 ‘.’): docker build --tag=friendlyhello . ...
  • Docker问题:容器互连时访问宿主机出现“No route to host”的问题 问题: 环境:CentOS、离线安装的docker环境 场景:博主在用离线镜像tar包安装mysql后,运行并在Windows上用Navicat和java项目都可以连接上,但是...
  • docker 问题

    千次阅读 2017-10-14 23:46:52
    宿主如果和容器系统不同的话,那不是和虚拟机一样,一层层的调用,那么 Docker 和虚拟机还有什么差别? 要把 Windows 和 Linux 分清楚,更要把内核(kernel)和用户空间(userland)分清楚。容器内的进程是直接运行于...
  • 问题docker使用用过程中出现,出现如下错误提示: ERROR: Service ‘XXX’ failed to build: write /var/lib/docker/tmp/GetImageBlob239544438: no space left on device 原因 错误提示已经很明显了,就是现在...
  • shell 编程中docker问题

    2018-03-20 13:16:30
    各位大神,在root用户下执行的shell脚本如何在进入docker之后执行,望指教,附上一段代码作为示例,这个代码执行不了。各位看看 #!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/...
  • 今天我自己做实验,发现docker容器里面无法连接Internet,后来发现,只需要重启一下就可以,重启一下docker服务: service docker restart 顺带介绍下其他的docker开启关闭命令: 启动 systemctl start docker ...
  • 目前使用的系统为中标麒麟6.5,内核是2.6.32的,今天在安装Docker的时候, 发现支持最低的内核版本是3.10,有前辈安装过吗,目前我处于内网,只能往机器传包进行安装,包括python之类的都是编译安装。
  • 这个问题也是搞了好久才搞定,首先是换了新的主板,开机很慢,nvidia-docker 运行不了了 由于要使用docker进行深度学习的程序部署,所以必须要调用显卡GPU 网上搜了很久没找到该问题的解决办法 最终在自己的研究下...
  • 因为docker自动的源老出问题,所以就选择了手动安装,过程出奇的简单,具体步骤: 1. 下载 docker-18.03.1-ce.tgz 2. 解压 tar xzvf docker-18.03.1-ce.tgz 3. cp docker/* /usr/bin/ 4. sudo docker run hello-...
  • docker-ce安装时出现错误: dpkg: error processing package docker-ce (--configure): subprocess installed post-installation script returned error exit status 1 Processing triggers for libc-bin (2.23-0...
  • docker问题之镜像删除 今天在Ubuntu下搭建apache时,始终无法进入自己写的页面,浏览器输入127.0.0.1依旧是apache官网页面,心想是不是dockerfile出了问题,一查看,果不其然。。。竟然在参数配置时,指向了错误的...
  • Docker问题(Get ...

    万次阅读 2016-04-07 10:11:18
    Docker问题(Get http:///var/run/docker.sock/v1.20/version:dial unix /var/run/docker.sock: no such file)
  • 文章目录1: 问题背景2: 问题原因3: 解决方案 1: 问题背景   window下已成功安装docker,并运行Nginx镜像,也进行了端口映射,如下图。   然后在主机的浏览器打开 localhost:...
  • ubuntu16.04 离线安装docker问题

    千次阅读 2018-05-19 00:31:52
    公司做电力项目实施服务器部署docker时遇到无外网的问题。已知docker安装是需外网来下载deb。无外网怎么做呢?查阅资料需安装以上两个deb。将deb文件上传到离线服务器。dpkg -i docker-engine_1.12.3-0-xenial_amd64...
  • 报错情况 Containers Windows Feature is not available 在 CommunityInstaller.EnableFeaturesAction.GetFeaturesToEnable() 在 CommunityInstaller.EnableFeaturesAction.<DoAsync>d__29.MoveNext() ...
  • win7搭建Docker问题解决方案

    千次阅读 2018-08-23 11:38:14
    windows下面安装docker并不顺利,特此记下遇到的一些坑,希望能帮助到遇到同样问题的朋友。 本机环境:win7 64位系统。 下载软件就不多说了,去官网下载就行。 问题1:安装完成后,桌面会有3个图标,双击“Docker...
  • systemctl status docker显示如下图docker服务起不来 执行docker命令无任何提示或者执行docker version只有客户端没有服务端 在网上找了很多都没有解决,最后自己发现是因为系统缺少libltdl库和libseccomp 先卸载...
  • K8s常见问题分析&解决(docker问题

    千次阅读 2020-02-14 12:10:56
    1:k8s集群内的容器,只能在其所在的节点上curl访问,其他任何主机上无法访问容器占用的端口 详细描述: ... 主机中网络包转发问题 解决步骤: vim /etc/sysctl.conf 找到 net.ipv4.ip_forward=1 ...
  • 复盘docker exec命令执行失败的问题的处理过程
  • Docker学习(7)-创建镜像 &nbsp;&nbsp;依据上面链接,已成功制作镜像jpress,镜像名为jpress。 镜像基于tomcat镜像制作,端口映射为8888:8080,浏览器成功访问tomcat镜像,但是输入tomcat路径/jpress却报404...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,866
精华内容 11,946
关键字:

docker问题