每次我的笔记本电脑唤醒时,Docker Desktop for Mac都会重新启动,我必须手动启动所有容器docker start <container>.有没有办法自动完成?
我正在使用Docker Desktop for Mac并在我的主机上运行一个容器。我可以通过主机上的 localhost 访问容器。但它不能从局域网上的其他系统获得。
容器是nginx web server,它可以localhost:80在同一 LAN 网络上的其他系统上访问但不能访问。
我希望其他系统能够访问主机上的容器。
编辑 1:添加 docker-compose 配置和“docker info”命令输出
version: '2'
services:
nginx:
image: artifactory.service.dev:5000/nginx:latest
network_mode: host
ports:
- "80:80"
- "10001-10020:10001-10020"
- "8080:8080"
volumes:
- ~/docker/.docker/nginx/html:/usr/share/nginx/html
redis:
image: artifactory.service.dev:5000/redis:latest
restart: always
ports:
- "6379:6379"
activemq:
image: artifactory.service.dev:5000/rmohr/activemq:5.11.1
restart: always
ports:
- "61613:61613"
- "61616:61616"
- "8161:8161"
oracle:
image: artifactory.service.dev:5000/oracle-12c:latest
restart: always
ports:
- "1521:1521"
volumes:
- ~/docker/.docker/oracle:/tmp/oracle:ro
privileged: true
Run Code Online (Sandbox Code Playgroud)
码头工人信息
Containers: 4
Running: 3 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用官方的Mongo dockerfile来启动数据库,我正在使用-v命令将本地目录映射到/data容器内部。
作为的一部分Dockerfile,它将尝试将该目录授予用户mongodb:
RUN mkdir -p /data/db /data/configdb \
&& chown -R mongodb:mongodb /data/db /data/configdb
VOLUME /data/db /data/configdb
Run Code Online (Sandbox Code Playgroud)
但是,使用以下命令将失败:
chown: changing ownership of '/data/db': Permission denied
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么?我找不到关于此的任何文档-肯定容器应该对映射目录具有完全权限,因为它已在docker run命令中明确传递:
docker run -d --name mongocontainer -v R:\mongodata:/data/db -p 3000:27017 mongo:latest
Run Code Online (Sandbox Code Playgroud) 我正在尝试摆弄 docker 的 Microsoft 容器,当我想实际向容器发出命令时遇到问题。我已完成以下操作才能到达这里:
1.12.3-beta30.1 (8711)),以便我可以“切换到 Windows 容器”现在,当我执行docker run -it microsoft/nanoserver cmdpowershell 时,它看起来像这样:

它对服务器核心或纳米服务器执行相同的操作。它从未真正启动过命令提示符。它只是挂在这里,我无法输入任何内容。这是我的图像的更多信息:
。那么,我如何才能真正开始在容器上执行命令呢?
更新:我认为我的实际问题是我无法附加到容器。我重新开始并做了以下工作来解决这个问题:
docker run microsoft/windowsservercoredocker ps获取容器名称docker exec [container_name] cmddocker exec [container_name] ping google.com
它发出响声!嗯嗯
docker exec -it [container_name] cmd
挂起。从未启动任何提示。
docker attach [container_name]我正在使用Docker Desktop for Windows和Windows Containers的新功能现在基于Windows的容器是可能的,但它提出了这个问题?
我可以混用基于Linux和Windows的基于同一搬运工引擎主机图像?如果是的话,是否会运行所有网络功能?这是否与用户的主机操作系统无关?
我想找到容器的日志位置。
/var/lib/docker/containers/但它在哪里呢。它是否隐藏在无法访问的虚拟机中的某个位置?
我使用的是 Windows 10 企业版 1607,
我们使用代理自动配置 (PAC) 脚本进行代理配置。
问题是 docker 连接。我已经安装了 Docker 17.12.0-ce(稳定版)。我无法将 Docker 配置为使用 PAC 来拉取 Docker 注册表映像。
请帮助!我已经多次浏览了官方文档,但没有任何帮助。我不确定我是否遗漏了什么。
我试图复制Spring Boot Kotlin示例项目https://github.com/JetBrains/kotlin-examples/tree/master/tutorials/spring-boot-restful。我添加了更多依赖项,当我尝试构建可执行 jar 并运行它时,出现错误:
无法找到或加载主类...
Gradle 构建脚本:
buildscript {
ext.kotlin_version = '1.1.3' // Required for Kotlin integration
ext.spring_boot_version = '1.5.4.RELEASE'
repositories {
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // Required for Kotlin integration
classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version" // See https://kotlinlang.org/docs/reference/compiler-plugins.html#kotlin-spring-compiler-plugin
classpath "org.springframework.boot:spring-boot-gradle-plugin:$spring_boot_version"
}
}
/*plugins {
id 'org.springframework.boot' version '2.0.0.RELEASE'
}*/
apply plugin: 'kotlin' // Required for Kotlin integration
apply plugin: "kotlin-spring" // See https://kotlinlang.org/docs/reference/compiler-plugins.html#kotlin-spring-compiler-plugin
apply plugin: 'org.springframework.boot'
jar {
baseName = 'gs-rest-service'
version = '0.1.0' …Run Code Online (Sandbox Code Playgroud) 我刚刚将Angular 5项目升级到Angular 6.升级后它编译得很好,但网站显示空白.在控制台中,我得到:
当前文档没有doctype.这可能会导致某些Angular Material组件无法按预期运行.push ../ node_modules/@angular/material/esm5/core.es5.js.MatCommonModule._checkDoctypeIsDefined @core.es5.js:122 MatCommonModule @ core.es5.js:92 _createClass @core.js:8116 createProviderInstance $ 1 @ core .js:8088 initNgModule @ core.js:8024 NgModuleRef @ core.js:8747 createNgModuleRef @ core.js:8736 debugCreateNgModuleRef @ core.js:10561 push ../ node_modules/@angular/core/fesm5/core.js.NgModuleFactory_ .create @ core.js:11263(匿名)@ core.js:4161 push ../ node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:388 onInvoke @ core.js:3671 push ../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:387 push ../ node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:138 push ../node_modules/@angular/core/fesm5/core.js.NgZone.run @core.js:3585 push ../ node_modules/@angular/core/fesm5/core.js.PlatformRef.bootstrapModuleFactory @ core.js: 4159(匿名)@ core.js:4200 push ../ node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:388 push ../ node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:138(匿名)@ zone.js:872 …
我正在进行日期比较,并尝试以日期,小时,分钟的格式计算和显示两个日期之间的差异。日期值存储在数据库中,例如:
EndDate : 2018-11-29 10:49:49.9396033
PurchaseDate: 2018-11-29 10:49:07.4154497
Run Code Online (Sandbox Code Playgroud)
在我的Angular组件中,我有:
let result = new Date(res.endDate).valueOf() - new Date(res.purchaseDate).valueOf();
Run Code Online (Sandbox Code Playgroud)
这导致:42524我不确定它代表什么。
我想知道什么是正确的方法来计算两个日期之间的时间差,以及如何以正确且易读的方式显示结果。
欢迎任何帮助
docker ×7
angular ×2
typescript ×2
angular6 ×1
date ×1
dockerfile ×1
gradle ×1
javascript ×1
kotlin ×1
npm ×1
powershell ×1
proxy ×1
spring-boot ×1
windows ×1