这类似于Docker 守护进程日志在哪里?. 但更多的是Docker Desktop for Mac。
在哪里可以找到Docker Desktop for Mac的守护进程日志?
我在Mac(El Capitan,稳定版10.11.6)上安装了Docker Desktop for Mac稳定版.
我在官方节点图像上运行一个简单的JavaScript应用程序.这是Dockerfile看起来像:
FROM node
WORKDIR /usr/local/src
Run Code Online (Sandbox Code Playgroud)
这是docker-compose.yml:
version: '2'
services:
web:
container_name: myproject_dev
build: .
command: npm run development
ports:
- "1234:8000"
- "1235:8080"
- "80:80"
volumes:
- ./my-project:/usr/local/src
Run Code Online (Sandbox Code Playgroud)
跑步docker-compose up正常开始:
myproject_dev | http://localhost:8080/webpack-dev-server/
myproject_dev | webpack result is served from /assets/
myproject_dev | content is served from /usr/local/src
Run Code Online (Sandbox Code Playgroud)
并docker ps显示端口已映射:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
820694f618b4 myproject_web "npm run development" …Run Code Online (Sandbox Code Playgroud) 我一直在网上寻找一段时间,但没有找到解决我的问题的方法,这类似于 StackOverflow 问题Docker HTTP-requests between containers。但是这个答案已经是我在我的电脑上所做的。我正在提供我的 docker-compose 文件
version: "3"
services:
web:
image: ecdavis15/tsn-web-server
ports:
- "3000:3000"
links:
- app
app:
image: ecdavis15/tsn-app-server
ports:
- "3030:3030"
links:
- mongo
mongo:
image: mongo
ports:
- "27017:27017"
volumes:
- ./data/db:/data/db
Run Code Online (Sandbox Code Playgroud)
在我的 Web 容器中,我向http://app:3030/history或可能发出了一个 http get 请求,http://app:3030/rules但我没有看到该请求找到了通往应用程序容器的路径。我在浏览器控制台中看到的是此错误消息net::ERR_NAME_NOT_RESOLVED。我不确定为什么 http 请求没有进入应用程序容器,因为它链接到 Web 容器。有任何想法吗?
我正在Docker容器中运行node js官方映像,我注意到npm start命令比在Docker之外启动命令需要更长的时间.
我可以更改设置以使其运行更快吗?也许为容器分配更多内存?
作为参考,我将在下面粘贴相关文件.
Dockerfile:
FROM node:8.1
WORKDIR var/www/app
# Global install yarn package manager
RUN apt-get update && apt-get install -y curl apt-transport-https && \
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
apt-get update && apt-get install -y yarn
RUN npm install -g create-react-app
Run Code Online (Sandbox Code Playgroud)
我用来启动容器的命令:
docker run --rm -ti \
--link api-container:api \
--name my-container -p 3000:3000 \
-v $(pwd):/var/www/app nxmohamad/my-container \
bash
Run Code Online (Sandbox Code Playgroud)
并且启动脚本就是 NODE_PATH=. react-scripts …
我退出jenkins image并docker hub尝试使用以下命令运行:
docker run jenkins
Run Code Online (Sandbox Code Playgroud)
或者
docker run -p 8080:8080 -p 50000:50000 jenkins
Run Code Online (Sandbox Code Playgroud)
然后我正在检查正在运行的 jenkins: docker inspect [container id],networks输出中的节点表示,ip address但是172.17.0.2当我在浏览器中输入时,172.17.0.2:8080它无法到达..有什么想法吗?
我们在 Docker for Mac 中有一个 LoadBalancer 真是太酷了。
我有一个关于创建的端口的问题:
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
run: nginx
spec:
ports:
port: 9999
targetPort: 80
selector:
run: nginx
type: LoadBalancer
Run Code Online (Sandbox Code Playgroud)
这给了我(kubectl get service):
nginx LoadBalancer 10.96.128.253 localhost 9999:32455/TCP 2s
Run Code Online (Sandbox Code Playgroud)
什么是32455?
谢谢
如何告诉Mac上的Docker出于所有目的使用主机网络,以便我的Docker容器可以通过localhost或127.0.0.1连接到主机上运行的任何服务?
Ran docker run --net=host -it myimage和容器无法通过localhost连接到主机上运行的任何内容。我收到连接被拒绝的错误。
docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:13:02 2018
OS/Arch: darwin/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.03.1-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:22:38 2018
OS/Arch: linux/amd64
Experimental: true
Run Code Online (Sandbox Code Playgroud) 当涉及到更广泛的网络问题时,尤其是 Docker,我是一个新手,我确信这一点在这个问题中会变得显而易见。
现在,我想要完成的相对简单的事情是在 Mac 上的 Docker 上启用 tcp 套接字(更进一步,了解从客户端计算机到哪里 ping 我的 Docker 主机)。我有点作弊,因为我没有描述我的最终目标,我知道这会导致 XY 问题,但我现在真正的目标是更好地理解 Docker 和网络,如果我能做到当我启用 tcp 套接字时,我会学到一些东西。
以下是障碍: 这是有关为 docker 守护进程启用 tcp 套接字的主要文档。但显然这个 dockerd 二进制文件在 Docker for Mac 上 不存在。
那么我如何完成类似的任务呢? 这个答案提出了一种可能性,但我遇到的一个问题是我不明白我的 docker 主机在该选项中的 IP 地址(这可能是因为我对网络问题感到困惑)。
另外,如果您单击鲸鱼,则会出现一个采用 JSON 对象的守护程序选项卡。也许我可以把我想监听的端口和IP地址放在那里?但使用什么语法呢?钥匙的名称是什么?这是在哪里记录的?如果答案在这里我不明白。
感谢您提供的任何帮助!
在macOS上使用docker-compose up遇到错误-
/ Applications / Visual Studio.app/Contents/Resources/lib/monodevelop/AddIns/docker/MonoDevelop.Docker/MSbuild/Sdks/Microsoft.Docker.Sdk/build/Microsoft.VisualStudio.Docker.Compose.targets(5,5) :错误:未设置APPDATA变量。默认为空字符串。删除dockercompose9508177338158005990_xyz_1删除dockercompose9508177338158005990_xyz_1大厦某某大厦XYZ重新创建886c8806b528_dockercompose9508177338158005990_xyz_1 ...重新创建57afcf6f0cb0_dockercompose9508177338158005990_xyz_1 ......重新创建886c8806b528_dockercompose9508177338158005990_xyz_1 ...错误错误:886c8806b528_dockercompose9508177338158005990_xyz_1无法启动服务XYZ:b'Mounts否认:\ r \ n此路径/微软/ UserSecrets和/ ASP .NET / Https \ r \ nare不与OS X共享,Docker不知道。https://docs.docker.com/docker-for-mac/osxfs/#namespaces了解更多信息。\ r \ n。正在重新创建57afcf6f0cb0_dockercompose9508177338158158005990_xyz_1 ...错误ERROR:57afcf6f0cb0_dockercompose9508177338158155990_xyz_1无法启动服务xyz:b'安装被拒绝:\ r \ n不知道/ Microsoft / UserSecrets和/ASP.NET/Https的路径/ Microsoft / UserSecrets和/ r \ n不共享Docker。\ r \ n您可以从Docker-> Preferences ...-> File Sharing配置共享路径。\ r \ n请参阅https://docs.docker.com/docker-for-mac/osxfs/#namespaces了解更多信息。\ r \ n。” 错误:xyz无法启动服务xyz:b'Mounts被拒绝:\ r \ n路径/ Microsoft / UserSecrets和/ASP.NET/Https\r\na不与OS X共享,并且对于Docker是未知的。\ r \ n您可以从Docker-> Preferences ...-> File Sharing配置共享路径。https://docs.docker.com/docker-for-mac/osxfs/#namespaces了解更多信息。\ r \ n。错误:xyz无法启动服务xyz:b'Mounts被拒绝:\ r \ n路径/ …
我正在 Docker for Mac 上运行 k8 集群。为了允许从我的数据库客户端连接到我的 mysql pod,我使用以下命令kubectl port-forward mysql-0 3306:3306。它工作得很好,但是几个小时后我收到以下错误E0201 18:21:51.012823 51415 portforward.go:233] lost connection to pod。
我检查了实际的 mysql pod,它似乎仍在运行。每次运行port-forward命令时都会发生这种情况。
我在这里看到了以下答案:kubectl 端口转发超时问题,解决方案是使用以下标志,--streaming-connection-idle-timeout=0但该标志现已弃用。
那么从那里开始,看来我必须通过 kubelet 配置文件(config file)设置该参数?我不确定如何实现这一点,因为 Mac 版 Docker 作为守护程序运行,而且我没有手动启动集群。
任何人都可以向我发送代码示例或有关如何配置kubectl以设置该标志以便我的端口转发不会超时的说明吗?