我在docker-compose.yml中使用tty:true
,但老实说,这似乎没有什么不同。不是在一篇文章中抛出一堆问题,但无论发生了什么,这是否也是我只能在使用Docker Compose运行web服务器时才能在浏览器中访问web服务器的原因?
version: '3.8'
volumes:
pgdata:
external: true
services:
db:
image: postgres
container_name: trac-db
tty: true
restart: 'unless-stopped'
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: iol
volumes:
- pgdata:/var/lib/postgresql/data
network_mode: 'host'
expose:
- 5432
web:
image: lindben/trac-server
container_name: trac-server
tty: true
restart: 'unless-stopped'
environment:
ADDRESS: localhost
PORT: 3000
NODE_ENV: development
depends_on:
- db
network_mode: 'host'
privileged: true
expose:
- 1234
- 3000
```
我假设您在桌面上使用Docker,所以您可以Docker exec
很好地使用powershell的原因是,对于windows来说,Docker是一个原生程序\命令,而对于基于bash的GitBash则是一个linux shell(bash=bourne-airch shell)。
因此,当使用需要tty的windows命令时,您需要某种“适配器”,例如winpty
,以弥合Docker接口和Gitbash接口之间的差距。
这里有一个关于winpty的更详细的解释
抛开所有这些不谈,如果你只想使用compose选项,你最好建议一下这个问题
现在,关于您的web服务问题,我认为您实际上并没有使用expose标记公开您的应用程序。看一下docker-compose公开引用。您需要添加一个“ports”标记,如下所示:
db:
ports:
- "5432:5432"
web:
ports:
- "1234:1234"
- "3000:3000"
我们什么时候应该使用Spring boot执行器。如果包括在内,它对应用程序内存和CPU使用有多大影响? 我目前正在使用Spring Boot 2. x。
我对Hibernate有问题。我正在通过Flyway迁移创建表。下面显示了初始迁移脚本的一部分片段。该脚本确实运行(我可以在DEBUG模式下看到它)。 脚本运行后,Hibernate的验证器似乎没有使用我通过< code>javax.persistence提供的实体的表名。 为了清楚起见,这里有一些省略的实体: 查看日志,Flyway迁移正在运行,然后我收到Hibernate验证错误。 我无法确定
我是应该考虑在Azure Cosmos DB中使用批量执行器来更新/插入5-10个文档,还是最好使用一个循环来逐个插入文档?
我一直在尝试在运行debian wheezy的lxc容器中使用libnfc。在尝试了一些东西和库之后,因此证明了lxc方法的合理性,我最终到达了一个我不知道去哪里寻找的地步。 问题是主机看到的是我的usb设备,而不是容器。 我在容器的lxc配置文件中添加了以下内容: 当我在容器上尝试lsusb时,我得到: 鉴于主机给出: 这就是我要找的设备。 令人惊讶的是,容器可以看到设备: 我已经检查了libu
一定有一些方法来使用执行器的endpoint,但我不能电线他们。 我有一个JavaConfig类,如下所示 但此配置在部署过程中引发错误。 没有Spring Boot应用程序,这种布线可以完成吗?
我有一个python脚本,它计算给定文件的字数,并在执行后将输出保存到“result.txt”文件中。我希望docker容器在容器启动时执行此操作,并在控制台上显示输出。下面是我的docker文件和python文件 我正在映射一个本地目录,它有两个文本文件IF. txt和Limerick1.txt从主机到容器内的目录/home/data,容器内的python代码读取文件并将输出保存到result.