我在Windows机器上开机,并通过docker-machine使用docker.由于来自@VonC的帮助,能够实现从windows dev文件夹到docker容器的文件夹共享.
我想用于Java开发的IDE是Eclipse.但我不想在我的主机上安装整个java系统.由于我的主机是Windows(不是X系统),因此无法使用此处提到的X11套接字共享内容 将Eclipse安装到Java所在的容器中.
因此,如果我的代码驻留在我的主机中并且整个java子系统位于docker容器中,Eclipse是否能够构建代码?有没有人在非Linux(最好是Windows)主机上工作,使用Eclipse IDE来构建java应用程序,使用java docker镜像来保存所有东西.
请解释以下输出:
docker ps ExanpleContainter
Ports
--------
10.10.10.10:443->443/tcp, 0.0.0.0:1937->1937/tcp
Run Code Online (Sandbox Code Playgroud)
并且,docker检查ExanpleContainter
"Ports": {
"1937/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "1937"
}
],
"443/tcp": [
{
"HostIp": "10.10.10.10",
"HostPort": "443"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想了解如何完成映射以及映射到哪个端口?
为每台机器做一个docker-machine ls意想不到Unable to query docker version: Get https://x.x.x.x:2376/v1.15/version: x509: certificate has expired or is not yet valid的事情.
我最近没有做任何事情.看着SO,我尝试了一些常见的罪魁祸首,VPN,病毒,奇怪的时钟问题等等.如何修复使它们再次可用(通过docker-machine界面)?
使用Docker for Mac,17.12.0-ce-49
我刚刚安装了 docker,然后尝试运行hello-world程序。我的服务器在公司代理后面。因此,我根据 docker 手册在名为 的文件中设置了代理环境变量/etc/systemd/system/docker.service.d/http-proxy.conf:
[Service]
Environment="HTTP_PROXY=http://username:password@server:8080"
Environment="HTTPS_PROXY=https://username:password@server:8080"
Environment="NO_PROXY=localhost,127.0.0.1,localaddress,.localdomain.com"
Run Code Online (Sandbox Code Playgroud)
但是,在运行时$ sudo docker run hello-world。我收到错误
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: proxyconnect tcp: tls: first record does not look like a TLS handshake.
See 'docker run --help'.
Run Code Online (Sandbox Code Playgroud)
这是docker version:
Client: Docker Engine - Community
Version: 19.03.9
API version: 1.40
Go version: go1.13.10
Git commit: 9d988398e7
Built: Fri May 15 00:25:34 2020
OS/Arch: linux/amd64
Experimental: false
Server: …Run Code Online (Sandbox Code Playgroud) 我在Macbook Pro笔记本电脑上运行docker-machine(0.5.0)和docker-compose(1.5.0)来让我的容器运行.
这意味着我正在使用docker-machine来创建我的虚拟机boot2docker驱动的HOST机器,它将运行我的docker守护程序并托管我的所有容器.
我想我缺少一些关于HOSTS和VOLUME概念的东西,因为它们指的是Docker和文档.
这是我的docker-compose.yml文件(web只是构建了php:5.6-apache图像):
web:
restart: "always"
build: ./docker-containers/web
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
links:
- mysql:mysql
mysql:
restart: "always"
image: mysql:5.7
volumes_from:
- data
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=XXX
data:
restart: "no"
image: mysql:5.7
volumes:
- /var/lib/mysql
command: "true"
Run Code Online (Sandbox Code Playgroud)
Docker撰写卷的文件文档在这里:http://docs.docker.com/compose/compose-file/
它表示卷 - 将路径挂载为卷,可选择指定主机上的路径(HOST:CONTAINER),或访问模式(HOST:CONTAINER:ro).
在这种情况下主机是指我的由docker-machine创建的VM,对吗?还是我的本地macbook文件系统?将VM上的路径挂载到容器?
在网上我声明:
volumes:
- ./src:/var/www/html
Run Code Online (Sandbox Code Playgroud)
这是将我的macbook pro上的本地macbook文件系统./src文件夹映射到我的Web容器.如果我的理解是正确的,不应该将我的VM上的./src文件夹映射到Web容器中的/ var/www/html吗?!从理论上讲,我认为我应该首先将我的本地mac文件系统文件夹./src复制到我的VM,然后我做这个卷声明.似乎docker-compose一下子神奇地做了所有这一切?困惑
最后,我们可以看到我正在创建一个仅限数据的容器来保存我的mysql数据.我宣布:
volumes:
- /var/lib/mysql …Run Code Online (Sandbox Code Playgroud) 有谁知道我可以从哪里获得Solaris OS的docker基础映像?
我尝试在Dockerhub上找到它但找不到它.
请提供详细信息'dockerhost/namespace/imagename:tag'
我是码头工人的新手。我有一个 nodejs(sails.js) 应用程序。我已经使用 docker 部署了它。我的 Ubuntu 机器上只有一个 docker 容器在运行。
当我尝试使用“docker stats”命令监视我的 docker 容器的内存使用情况时,下面是我得到的统计信息(如图所示)
我的问题是,为什么这个单个 docker 容器会占用大量内存~207MiB?将来如果我想增加每台主机运行的容器数量,它会以这个倍数消耗内存吗?如果我想在我的机器上运行 100 个相同应用程序的容器,这似乎不是可行的解决方案。有没有办法优化docker容器的内存消耗?
(当我在没有 docker (sails lift / node app.js) 的情况下运行相同的应用程序时,它只消耗 80MB 的内存。)
我正面临这个奇怪的问题,近几天以来一直在努力解决。
工作: 在 mac mini 命令提示符下,我切换到 jenkins 用户并且可以毫无问题地运行 docker 命令。
不工作: 但是当我运行 jenkins 作业时,无法识别内部 shell 命令步骤 docker。
我收到错误
docker: command not found
docker --version
Run Code Online (Sandbox Code Playgroud)
但是提到 docker 的显式路径,确实有效
/Users/buildserver/Library/Group\ Containers/group.com.docker/bin/docker --version
Run Code Online (Sandbox Code Playgroud)
问题:为什么 docker 命令无法查看正确的路径?
权限
lrwxr-xr-x 1 buildserver 员工 71 Oct 14 10:44 docker -> /Users/buildserver/Library/Group Containers/group.com.docker/bin/docker
jenkins 使用的是员工组的一部分。
提前致谢。
问候, 维克拉姆
我想构建一个具有root权限的jenkins docker容器,以便我可以使用apt-get功能来安装gradle.
我正在使用此命令在8080端口上运行jenkins,但我还想将gradle添加为enviornment变量:
docker run -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home jenkins
Run Code Online (Sandbox Code Playgroud)
或者我需要创建什么dockerfile以及在其中写入什么以便jenkins也开始在8080运行
我在设置一个有两个工人和一个经理的Docker Swarm时遇到了困难.一切正常,直到我添加第二个工人.添加第二个worker后,第一个worker的守护进程会进入某种错误状态,其中一个简单的docker version收益
另外,我使用Stack YAML启动三个Redis服务.
Stack.yaml
version: '3.4'
services:
redis-master:
image: 'bitnami/redis:5.0.2'
ports:
- '6379:6379'
environment:
- REDIS_REPLICATION_MODE=master
- REDIS_PASSWORD=f7paul12-d571-4701-9c55-64vanacecDyK
deploy:
mode: global
restart_policy:
condition: any
volumes:
- 'redis:/opt/bitnami/redis/etc/'
redis-replica:
image: 'bitnami/redis:5.0.2'
ports:
- '6379'
depends_on:
- redis-master
environment:
- REDIS_REPLICATION_MODE=slave
- REDIS_MASTER_HOST=redis-master
- REDIS_MASTER_PORT_NUMBER=6379
- REDIS_MASTER_PASSWORD=f7paul12-d571-4701-9c55-64vanacecDyK
- REDIS_PASSWORD=f7paul12-d571-4701-9c55-64vanacecDyK
deploy:
mode: replicated
replicas: 6
update_config:
parallelism: 1
delay: 20s
restart_policy:
condition: any
redis-sentinel:
image: 'bitnami/redis:5.0.2'
ports:
- '16379'
depends_on:
- redis-master
- redis-replica
entrypoint: |
bash -c 'bash …Run Code Online (Sandbox Code Playgroud) docker docker-swarm docker-machine docker-swarm-mode docker-stack