标签: docker-machine

Docker Machine可以ssh而不是scp

我开始使用Docker Machine,我刚看到有一个scp命令.就像文件说:

$ docker-machine ssh dev 'echo A file created remotely! >foo.txt' $ docker-machine scp dev:/home/docker/foo.txt .

我通过创建一个文件然后执行相同的操作:

docker-machine scp default:/home/docker/test.txt .

但我一直面临着身份1.

如果我反过来,并将文件上传到容器,我将面临与状态1的连接丢失.命令:

docker-machine scp mongo.tar default:mongo.tar
Run Code Online (Sandbox Code Playgroud)

请假设我不是ssh和scp的专家.

scp docker docker-machine

7
推荐指数
1
解决办法
3914
查看次数

如何永久更新docker-machine中的DOCKER_OPTS

更新到docker-machine后,我不知道如何DOCKER_OPTS在本地boot2docker docker-machine中更新并永久保存

$ docker-machine ls
NAME   ACTIVE   DRIVER       STATE     URL                         SWARM
dev    *        virtualbox   Running   tcp://192.168.99.100:2376
Run Code Online (Sandbox Code Playgroud)

我尝试使用ssh进入vm docker-machine ssh dev,并进行更新/etc/docker/default.但是重新启动VM后,我所做的更改会被删除docker-machine restart dev.

docker boot2docker docker-machine

7
推荐指数
2
解决办法
2841
查看次数

允许通过docker-machine运行的容器与父OSX系统上的Mysql或XDEBUG端口连接,而不使用OSX DHCP分配的ip地址?

我有以下设置:

  • 运行MySQL的OSX侦听端口3306上的所有网络适配器
  • XDEBUG启用IDE侦听基本OSX系统上的端口9000.
  • 在OSX系统上运行的docker-machine主机,主机为ip 192.168.99.100
  • 一个基于debian的docker容器,在docker主机上运行mysql客户端,运行xdebug的HHVM希望连接到端口9000上的一些幸运远程主机.

由于通过DHCP分配,ip地址在OSX系统上频繁更改,因此我希望docker容器能够以某种方式能够命中mysql服务器,无论本机OSX网络适配器分配了什么IP(无需手动更新) ).另外,我需要一个稳定的ip我可以为我的HHVM server.ini文件提供一个Xdebug的远程主机.

通过运行linux的基本系统,这不是问题,因为docker主机和运行docker的实际本地机器是同一个.此外,有几种方法可以让容器了解主机的ip,因此问题不会触及docker主机.

但是,在运行docker-machine的OSX中,主机不是本机OSX系统,而是在虚拟机框中运行的VM(假设您正在使用vb驱动程序,以及sam hill启动的是谁?).

我唯一能想到的是将3306上的请求移植到docker-machine主机(192.168.99.100,它永远不会改变)到OSX的端口3306.然后让容器命中docker-machine主机以获取Mysql请求.如果这个工作,我可以冲洗并重复我需要链接的端口,如xdebug端口9000上的端口.

有谁知道如何完成这个或有另一个建议?

virtualbox docker docker-machine

7
推荐指数
1
解决办法
2198
查看次数

Docker Django 404用于Web静态文件,但对于管理静态文件很好

请帮助我这个docker django配置提供静态文件.

Django运行的项目Docker遇到了一些交付问题static files.

管理视图的所有静态文件都正常加载,但客户端Web视图的静态文件正在抛出404未找到错误.

这是我的docker.yml配置细节:

web:
  build: ./web
  expose:
    - "8000"
  links:
    - postgres:postgres
  volumes:
    - ./web:/usr/src/app
  ports:
    - "8000:8000"
  env_file: .env
  command: python manage.py runserver 0.0.0.0:8000

postgres:
  image: postgres:latest
  volumes:
    - /var/lib/postgresql
  ports:
    - "5432:5432"
Run Code Online (Sandbox Code Playgroud)

更新

这是管理静态文件的URL将如下所示:http://developer.com: 8000 /stat/admin/css/base.css ,这就是客户端静态文件URL的样子:http://developer.com: 8000 /static/css/base.css 通过运行django命令,静态目录中的那些管理文件夹是创建者collectstatic

我以前使用过此设置,并且工作正常.但是当我将项目根文件夹移动到另一个目录时似乎有这个问题.

我完全被困在这里,非常感谢你的帮助和反馈.

python django docker dockerfile docker-machine

7
推荐指数
2
解决办法
6078
查看次数

Docker run script in host on docker-compose up

thank you for watching this question.

So my question relates to best practices on how to run a script on a docker-compose up directive.

Currently i'm sharing a volume between host and container to allow for the script changes to be visible to both host and container. Similar to a watching script polling for changes on configuration file.

The script has to act on host on changes according to predefined rules.

So my question is:

How could I start this …

bash docker dockerfile docker-compose docker-machine

7
推荐指数
1
解决办法
6097
查看次数

如何获得在Docker容器中运行的进程的内存使用情况?

我已经创建了85个容器,并且所有容器在我的Linux机器上都运行相同的.NET核心应用程序映像。我对所有容器的REST调用是相同的,但是每个容器使用的内存都不同。

这是我不明白的。为什么使用不同的内存,因为所有容器都运行相同的映像,并且REST调用也相同?

通过使用以下方法,我能够获得容器使用的内存:

  1. docker stats

    CONTAINER- 7827fe8127eb
    
    CPU - 0.00%
    
    MEM USAGE / LIMIT - 67.1MiB / 7.666GiB
    
    MEM % - 0.85%
    
    NET I/O - 76.4kB / 6.19kB
    
    BLOCK I/O - 42.7MB / 0B
    
    Run Code Online (Sandbox Code Playgroud)

    从以上统计信息中,我知道容器使用的内存为67.1 MB。

  2. 然后,我进入了容器,并试图找出正在运行的进程以及这些进程使用的内存。

    docker exec -i -t 7827fe8127eb /bin/bash
    top
    
    Run Code Online (Sandbox Code Playgroud)

    在此处输入图片说明

    现在,从“ docker stats”获得的统计数据表明容器内存为67 MB,但是该dotnet进程使用的内存是多少?

    "RES"列值是否提供过程内存?由于RES大小为92.70 MB,大于容器内存。

  3. 我使用Docker引擎API来获取容器统计信息。但是我不确切知道哪个属性指定了容器内存。

    "memory_stats": {
        "usage": 72302592,
        "max_usage": 84365312,
        "stats": {
            "active_anon": 47865856,
            "active_file": 6664192,
            "cache": 24477696,
            "dirty": 4096,
            "hierarchical_memory_limit": 9223372036854772000,
            "inactive_anon": 8450048,
            "inactive_file": 9318400,
            "mapped_file": 16236544, …
    Run Code Online (Sandbox Code Playgroud)

linux docker dockerfile docker-machine asp.net-core

7
推荐指数
1
解决办法
4247
查看次数

Docker Machine错误:Hyper-V PowerShell模块不可用

我检查了Hyper-V设置并启用了PowerShell模块.我也发现了这个记录的问题:https://github.com/docker/machine/issues/4342但是由于我没有安装VMware PowerCLI,因此问题不同.该问题因推销回购而关闭,据推测固定在0.14.0-rc1,构建e918c74,所以无论如何我都试过了.更换我的docker-machine.exe后,即使重新安装Docker for Windows,我仍然会收到错误并仍然出错.

对于更多背景,重新安装后发生此错误,因为我的Docker安装有错误:https://github.com/docker/for-win/issues/1691但是,重新安装后我不再遇到此问题.

powershell hyper-v docker docker-machine

7
推荐指数
3
解决办法
6924
查看次数

Docker Bridge与主机网络冲突

在容器开始运行之后,Docker似乎正在创建一个桥,然后与我的主机网络发生冲突。这不是默认桥docker0,而是在容器启动后创建的另一个桥。我能够根据旧的用户指南链接https://docs.docker.com/v17.09/engine/userguide/networking/default_network/custom-docker0/配置默认桥,但是,我不知道如何配置另一个网桥,以使其与172.17不冲突。

那么,当前的问题是,当该网桥变为活动状态时,我的容器无法访问主机网络上的其他系统。

有任何想法吗?

码头工人的版本:

Version 18.03.1-ce-mac65 (24312)
Run Code Online (Sandbox Code Playgroud)

这就是创建的桥梁。有时不是172.17,但有时是。

br-f7b50f41d024 Link encap:Ethernet  HWaddr 02:42:7D:1B:05:A3  
      inet addr:172.17.0.1  Bcast:172.17.255.255  Mask:255.255.0.0
Run Code Online (Sandbox Code Playgroud)

docker docker-machine

7
推荐指数
2
解决办法
6875
查看次数

使用 Docker for windows 将 Windows 驱动器卷安装到 Linux 容器中

我在 Windows 上使用 Docker,我想在 Linux 容器中找到 Docker 创建的卷的位置?

有没有人能够执行我试图实现的卷安装?

containers docker linux-containers dockerfile docker-machine

7
推荐指数
2
解决办法
7237
查看次数

docker 登录问题 - 等待连接时请求被取消

突然间,docker 在我的系统中显示了一个奇怪的问题。 docker login间歇性地失败并且docker pull根本不工作:(。

这是docker 登录成功但 docker pull 失败并出现错误的一个实例。

$ docker login
Authenticating with existing credentials...
Login Succeeded

$ docker pull cooldocker19/manas-simple-flask:latest
Error response from daemon: Head https://registry-1.docker.io/v2/cooldocker19/manas-simple-flask/manifests/latest: Get https://auth.docker.io/token?account=cooldocker19&scope=repository%3Acooldocker19%2Fmanas-simple-flask%3Apull&service=registry.docker.io: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Run Code Online (Sandbox Code Playgroud)

当我从我的浏览器或邮递员尝试上述 url ( ref: https://auth.docker.io/token? ) 时,它会按预期返回正确的 access_token,但不确定为什么 docker daemon 无法获取它。

我关注了多个 docker/StackOverflow 线程,其中有几个人报告了这个问题。前任 :

在此处输入图片说明

我按照几个线程中的建议添加了以下 DNS,但没有任何帮助。在尝试了不同的设置并花费了超过 4/5 个小时后,我有点筋疲力尽。如果您知道如何解决此问题,请告诉我。

{
  "dns": [
    "8.8.8.8",
    "8.8.4.4"
  ]
}
Run Code Online (Sandbox Code Playgroud)

PN - 我可以从托盘图标登录到 …

dns docker docker-machine docker-for-mac docker-desktop

7
推荐指数
0
解决办法
2012
查看次数