相关疑难解决方法(0)

无法启动 Mac 版 docker 桌面

我第一次安装 docker Desktop for mac,但无法启动\xe2\x80\x99。\n我安装如下。

\n

\xe3\x83\xbb 在此官方页面( https://www.docker.com/get-started )注册并单击 Mac intel 芯片的下载按钮。

\n

\xe3\x83\xbb 打开 Docker.dmg 文件并将 Docker.app 拖放到应用程序中。

\n

\xe3\x83\xbb 对 docker 进行了重点搜索并启动了它。

\n

\xe3\x83\xbb 单击通知屏幕上的 \xe2\x80\x9copen\xe2\x80\x9d 按钮,该按钮显示 \xe2\x80\x9cDocker.app\xe2\x80\x9d 是从 Internet 下载的应用程序。您确定要打开它吗?

\n

此后应用程序没有任何响应。

\n

当前状态

\n

“应用程序”文件夹中有一个 docker 应用程序,位置有 Docker(带有弹出按钮)。\n我无法启动该应用程序,也无法使用任何 docker 命令。\n其他应用程序运行良好且舒适。

\n

我尝试重新启动我的电脑,关闭防火墙和 FireVault,然后再次安装,但发生了完全相同的事情。

\n

我使用的是装有最新版本 macOS Big Sur 11.6 的 MacBook Pro 16 (2019)。

\n

docker

166
推荐指数
8
解决办法
14万
查看次数

在docker中安装pip

我无法在Docker中安装pip.

这是我的Dockerfile:

FROM ubuntu:14.04

# Install dependencies
RUN apt-get update -y
RUN apt-get install -y git curl apache2 php5 libapache2-mod-php5 php5-mcrypt php5-mysql python3.4 python-pip
Run Code Online (Sandbox Code Playgroud)

建设时,我得到:

Sending build context to Docker daemon 109.6 kB
Step 1 : FROM ubuntu:14.04
 ---> b549a9959a66
Step 2 : RUN apt-get update -y
 ---> Using cache
 ---> 84577471562c
Step 3 : RUN apt-get install -y git curl apache2 php5 libapache2-mod-php5 php5-mcrypt php5-mysql python3.4 python-pip
 ---> Running in 49252a6d0eb1
Reading package lists...
Building dependency tree...
Reading state …
Run Code Online (Sandbox Code Playgroud)

python pip docker

31
推荐指数
2
解决办法
8万
查看次数

当主机使用dnsmasq并且Google的DNS服务器被防火墙时,DNS无法在docker容器中工作?

症状是:主机具有适当的网络访问权限,但在容器内运行的程序无法解析DNS名称(在调查更多内容之前可能看起来"无法访问网络").

$ sudo docker run -ti mmoy/ubuntu-netutils /bin/bash
root@082bd4ead733:/# ping www.example.com
... nothing happens (timeout) ... ^C
root@082bd4ead733:/# host www.example.com
... nothing happens (timeout) ... ^C
Run Code Online (Sandbox Code Playgroud)

(docker图像mmoy/ubuntu-netutils是一个基于Ubuntu的简单图像ping,host包含在内,方便,因为网络坏了,我们不能使用apt install这些工具)

问题来自于docker自动将Google的公共DNS配置为容器内的DNS服务器:

root@082bd4ead733:/# cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 8.8.8.8
nameserver 8.8.4.4
Run Code Online (Sandbox Code Playgroud)

这只适用于许多配置,但显然不适用于主机在网络上运行,其中Google的公共DNS被某些防火墙规则过滤.

发生这种情况的原因是:

  • Docker首先尝试在主机和容器内配置相同的DNS服务器.
  • 主机运行DNS缓存服务dnsmasq.dnsmasq充当DNS请求的代理,因此主机中明显的DNS服务器/etc/resolve.confnameserver 127.0.1.1 …

dns dnsmasq localhost docker

19
推荐指数
3
解决办法
1万
查看次数

Docker无法解析专用网络上的DNS

我的计算机位于具有私有DNS服务器的专用网络上,以及用于DNS解析的专用区域.我可以从主机解析此区域上的主机,但我无法从主机上运行的容器中解析它们.

主持人:

root@host:~# cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1

root@host:~# ping privatedomain.io
PING privatedomain.io (192.168.0.101) 56(84) bytes of data.
Run Code Online (Sandbox Code Playgroud)

容器:

root@container:~# cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 8.8.8.8
nameserver 8.8.4.4

root@container:~# ping privatedomain.io
ping: unknown …
Run Code Online (Sandbox Code Playgroud)

dns dnsmasq docker

16
推荐指数
3
解决办法
2万
查看次数

Docker无法获取http://deb.debian.org/debian/dists/jessie/InRelease

尝试在自己的房屋中构建Docker映像时,我发现了一个奇怪的问题,尽管我不确定它是否与浏览器相关,或者仅与网络相关。

所以这就是我得到的。我试图在Dockerfile中运行此命令。

RUN apt-get update -qq && \
    apt-get install -y build-essential \
        libpq-dev \
        postgresql-client
Run Code Online (Sandbox Code Playgroud)

等待片刻后,该过程会输出类似以下内容的内容。

W: Failed to fetch http://deb.debian.org/debian/dists/jessie/InRelease  

W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/InRelease  

W: Failed to fetch http://security.debian.org/dists/jessie/updates/InRelease  

W: Failed to fetch http://deb.debian.org/debian/dists/jessie/Release.gpg  Temporary failure resolving 'deb.debian.org'

W: Failed to fetch http://security.debian.org/dists/jessie/updates/Release.gpg  Temporary failure resolving 'security.debian.org'

W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/Release.gpg  Temporary failure resolving 'deb.debian.org'

W: Some index files failed to download. They have been ignored, or old ones used instead.
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我在办公室网络中尝试过此操作,则不会发生这种情况。然后,如果我尝试绑定到手机数据网络,也不会发生这种情况。

我尝试http://deb.debian.org/debian/dists/jessie/InRelease在浏览器中打开,它显示404。我尝试通过多个网络使用Tor浏览器,它也显示404。

docker映像基于 …

debian docker

11
推荐指数
2
解决办法
2万
查看次数

无法在 dockerfile 中设置代理

我无法在公司防火墙后面运行 Docker “入门”示例。在家中无需防火墙即可正常运行。

当我使用 构建图像时docker build -t my_tag .,尝试安装一些 python 包时失败。docker 文件中有这样的命令:

RUN pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)

错误信息是:

收集Redis(来自-rrequirements.txt(第1行))在连接因“ProxyError('无法连接到代理。'”而中断后重试(重试(总计= 4,连接=无,读取=无,重定向=无)) NewConnectionError(': 无法建立新连接: [Errno -2] 名称或服务未知',))': /simple/redis/

我尝试在 dockerfile 中设置代理(以各种格式,但它们都失败):

ENV http_proxy http://my_username:my_password@my_host:/80
ENV https_proxy https://my_username:my_password@my_host:/80
ENV HTTP_PROXY http://my_username:my_password@my_host:/80
ENV HTTPS_PROXY https://my_username:my_password@my_host:/80
ENV http_proxy http://my_username:my_password@my_host:80
ENV https_proxy https://my_username:my_password@my_host:80
ENV HTTP_PROXY http://my_username:my_password@my_host:80
ENV HTTPS_PROXY https://my_username:my_password@my_host:80
ENV http_proxy=http://my_username:my_password@my_host:80
ENV https_proxy=https://my_username:my_password@my_host:80
ENV HTTP_PROXY=http://my_username:my_password@my_host:80
ENV HTTPS_PROXY=https://my_username:my_password@my_host:80
Run Code Online (Sandbox Code Playgroud)

我尝试在文件 /etc/systemd/system/docker.service.d/http-proxy.conf 中设置环境:

[Service]
Environment="HTTP_PROXY=http://my_username:my_password@my_host:80/" "HTTPS_PROXY=https://my_username:my_password@my_host:80/"
Run Code Online (Sandbox Code Playgroud)

我尝试更改RUN pip installdockerfile 中的命令,使其还包含代理:

RUN pip install --proxy="my_username:my_password@my_host:80" …
Run Code Online (Sandbox Code Playgroud)

proxy firewall docker

6
推荐指数
1
解决办法
9623
查看次数

Docker 连接问题:apt/apk 在 docker 容器内和 docker 构建期间无法工作

我两天来一直在努力解决以下问题。当我尝试运行包管理系统以构建新的容器映像时,包管理系统失败,我尝试使用 alpine:latest 和 ubuntu:latest。如果我尝试从正在运行的容器中使用它们,即使我使用了该--network host选项,我也会得到相同的行为。

例如,如果我尝试构建以下容器:

FROM alpine:latest
RUN apk update
Run Code Online (Sandbox Code Playgroud)

像这样:

docker build --no-cache -t test .
Run Code Online (Sandbox Code Playgroud)

我得到:

ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.9/main: could not connect to server (check repositories file)
WARNING: Ignoring APKINDEX.b89edf6e.tar.gz: No such file or directory
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.9/community: could not connect to server (check repositories file)
WARNING: Ignoring APKINDEX.737f7e01.tar.gz: No such file or directory
Run Code Online (Sandbox Code Playgroud)

对于 ubuntu:

FROM ubuntu:latest
RUN apt-get update
Run Code Online (Sandbox Code Playgroud)

我得到:

Sending build context to Docker daemon  3.954MB
Step 1/2 : FROM ubuntu:latest
---> 47b19964fb50
Step …
Run Code Online (Sandbox Code Playgroud)

apt apk docker

4
推荐指数
1
解决办法
1万
查看次数

docker build失败,无法解析'archive.ubuntu.com'

我无法使用以下Dockerfile构建我的图像:

FROM ubuntu

RUN apt-get -y update && apt-get -y install \
nodejs npm ssh

# cache npm install when package.json hasn't changed
WORKDIR /tmp
ADD package.json package.json
RUN npm install
RUN npm install -g pm2

RUN mkdir /sparrow
RUN cp -a /tmp/node_modules /sparrow

WORKDIR /sparrow
ADD . /sparrow/
RUN npm run build

# ssh keys
WORKDIR /root
RUN mv /sparrow/.ssh /root/

# upload js and css
WORKDIR /sparrow/build
# UPLOAD TO S3!

# go back to /sparrow
WORKDIR /sparrow …
Run Code Online (Sandbox Code Playgroud)

ubuntu docker boot2docker

3
推荐指数
1
解决办法
8793
查看次数

标签 统计

docker ×8

dns ×2

dnsmasq ×2

apk ×1

apt ×1

boot2docker ×1

debian ×1

firewall ×1

localhost ×1

pip ×1

proxy ×1

python ×1

ubuntu ×1