我有一个简单的 2 个容器 docker-compose 设置。一个前端(Angular)和一个后端(nestjs/express)。
这是我的 docker-compose(开发)
version: "3.3"
services:
db:
image: 'postgres:10-alpine'
container_name: 'postgresnew'
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=4321
- POSTGRES_DB=bleh
volumes:
- pgdata:/var/lib/postgresql/data
frontend:
build: ./frontendapp
ports:
- 4001:4200
volumes:
- ./frontendapp:/app
- /app/node_modules/
backend:
build: ./backendapp
ports:
- 4000:8080
volumes:
- ./backendapp:/app
- /app/node_modules/
env_file:
- .env
volumes:
pgdata:
Run Code Online (Sandbox Code Playgroud)
现在,暴露了正确的端口后,我的前端可以使用 localhost:4000 地址轻松访问后端,如我的前端环境中所见
const x = 'http://localhost:4000';
export const environment = {
production: false,
API_USERSERVICE: x + "/api/user",
API_PROJECTSERVICE: x + "/api/project",
API_TASKSERVICE: x + "/api/task",
API_PGROUPSERVICE: x …Run Code Online (Sandbox Code Playgroud) Docker 菜鸟在这里。我的 docker 文件夹中有两个文件 docker-compose.build.yml 和 docker-compose.up.yml 。以下是两个文件的内容..
docker-compose.build.yml
version: "3"
services:
base:
build:
context: ../
dockerfile: ./docker/Dockerfile.base
args:
DEBUG: "true"
image: ottertune-base
labels:
NAME: "ottertune-base"
web:
build:
context: ../
dockerfile: ./docker/Dockerfile.web
image: ottertune-web
depends_on:
- base
labels:
NAME: "ottertune-web"
volumes:
- ../server:/app
driver:
build:
context: ../
dockerfile: ./docker/Dockerfile.driver
image: ottertune-driver
depends_on:
- base
labels:
NAME: "ottertune-driver"
Run Code Online (Sandbox Code Playgroud)
docker-compose.up.yml
version: "3"
services:
web:
image: ottertune-web
container_name: web
expose:
- "8000"
ports:
- "8000:8000"
links:
- backend
- rabbitmq
depends_on:
- backend …Run Code Online (Sandbox Code Playgroud) 我有一个简单的应用程序,我试图连接到现有的现有网络,但是当我这样做时,docker-compose up它只是为自己创建一个新网络,而无需加入现有网络。我尝试加入的现有网络用于 traefik,称为代理。我在 traefik 后面运行的所有其他服务都运行良好。我必须手动将 mynewapp 添加到代理网络才能使其工作。我所有的其他服务撰写文件也在各个文件夹中解耦,所以我不认为是这样。
我尝试将外部和内部值定义为 true 和 false,但它仍然创建了自己的网络。如果我定义了一个默认网络和代理网络,那么它只会创建两个名为 mynodeapp_default 和 mynodeapp_proxy 的新网络。如果我运行docker network inspect proxy,我不会在其中看到 mynewapp(但我会看到所有其他正在运行的服务)。
我的输出docker network list是
62eba8d7e127 proxy bridge local
a50cdb97b743 testapp_proxy bridge local
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么?
version: '3'
services:
mynodeapp:
container_name: mynodeapp
build: .
volumes:
- ./:/app/
networks:
- proxy
labels:
- traefik.enable=true
- traefik.network=proxy
networks:
proxy:
Run Code Online (Sandbox Code Playgroud) 我有以下 docker-compose.yml 文件:
version: "3" services:\ local_db:
build:
context: mssql-data
dockerfile: Dockerfile
ports:
- "1433:1433"
volumes:
- ~/Documents/rfg/temp
environment:
SA_PASSWORD: "D0ckerDev"
ACCEPT_EULA: "Y"
Run Code Online (Sandbox Code Playgroud)
当我运行 docker-compose up 时,出现以下错误:
local_db_1 | /scripts/entrypoint.sh: line 5: /scripts/seed-data.sh: Permission denied
docker_local_db_1 exited with code 126
Run Code Online (Sandbox Code Playgroud)
入口点是:
#start SQL Server in the background
/opt/mssql/bin/sqlservr &
# start the seed data script
/scripts/seed-data.sh
Run Code Online (Sandbox Code Playgroud)
种子数据.sh在哪里:
sleep 15s cd /scripts
if [ -f /var/opt/mssql/data/initialized ]; then
sleep infinity
fi sleep 15s /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $SA_PASSWORD -d …Run Code Online (Sandbox Code Playgroud) 我是 docker 的完全初学者,我正在尝试通过 docker ( https://github.com/RWTH-i5-IDSG/steve )安装一个名为 steve 的网络服务器应用程序。我正确地遵循了说明,但是当我使用命令“ *docker-compose up -d*”时,出现以下错误:
错误:.IOError:[Errno 13] 权限被拒绝:“./docker-compose.yml”
我正在运行最新版本的 ubuntu 18.04,到目前为止,我已经尝试了以下操作:-使用“ sudo docker-compose up -d”(相同错误)-使用“ sudo docker build”(正确构建但我仍然无法启动它)-更改 dockerfile 和 docker 的权限-compose.yml 到 777 - 将文件所有者更改为 root
这些文件与源代码完全相同。我只找到了一些有此错误的用户,他们发布了答案,但他们都没有工作,所以我提出了自己的问题。我为我糟糕的英语道歉。
我一直在阅读有关限制容器的 JVM 内存的多篇文章,到目前为止没有任何效果,我不知道我在哪里搞砸了。
我在 Spring Boot 中制作了一个简单的“Hello World”,使用 REST 控制器,它没有别的。
此类应用程序被导出为 WAR 文件,使用 Tomcat JDK 11 映像运行它,我也可以使用具有 FatJar 的 JDK 映像运行它,但无论哪种方式,问题仍然存在。
预期的
让我的 Java 容器占用的内存不超过 25 MB(为了数量,可以更多)
实际的
这样一个简单的应用程序占用了 200 - 250 MB 的内存 docker stats
文件
FROM tomcat:9.0.30-jdk11-corretto
COPY tomcat.war /usr/local/tomcat/webapps/ROOT.war
CMD ["catalina.sh","run"]
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: '3.7'
services:
hello:
build:
context: .
dockerfile: Dockerfile
image: app-test
environment:
- JVM_OPTS=-Xms13m -Xmx25m
ports:
- 8080:8080
Run Code Online (Sandbox Code Playgroud)
我试过了
-Xms13m -Xmx25m
-XX:PermSize=13m -XX:MaxPermSize=25m
在我已经删除并忘记的其他标志中
我想在 Postgres 交互式 shell 中运行查询。为此,我正在使用 docker 容器,如下所示:
这是 docker-compose 的相关部分:
db_of_ivms:
image: postgres:10
restart: unless-stopped
ports:
- 5432:5432
container_name: db_of_ivms
environment:
POSTGRES_PASSWORD: xxx
POSTGRES_USER: ivms_usr
POSTGRES_DB: ivms_db
Run Code Online (Sandbox Code Playgroud)
尽管如此,我正在处理这个错误:
docker exec -it -u 0 db_of_ivms bash
# psql
psql: FATAL: role "root" does not exist
Run Code Online (Sandbox Code Playgroud) 我正在开发一个在 Windows 上使用 Docker 开发的项目。但是当我继续在我的 Linux 机器上处理它时,我得到了 404 Not Found nginx 页面。
我的网络服务器服务上的 Docker Compose 日志显示权限被拒绝
webserver | 2020/03/14 10:05:29 [crit] 6#6: *1 stat() "/var/www/public/" failed (13: Permission denied), client: <my_ip_address>, server: , request: "GET / HTTP/1.1", host: "localhost"
webserver | 2020/03/14 10:05:29 [crit] 6#6: *1 stat() "/var/www/public/" failed (13: Permission denied), client: <my_ip_address>, server: , request: "GET / HTTP/1.1", host: "localhost"
webserver | 2020/03/14 10:05:29 [crit] 6#6: *1 stat() "/var/www/public/index.php" failed (13: Permission denied), client: <my_ip_address>, server: , request: …Run Code Online (Sandbox Code Playgroud) 场景:我想从同一个 docker-compose 启动 Mongo 和 Mongo-Express。
我只从 docker-compose 启动 mongodb 没有问题。当我尝试将 Mongo-Express 链接到 Mongo DB 服务时,问题就出现了。
我不确定我是否缺少 docker-compose 或 mongo-express 设置中的某些配置。我不希望这个问题成为 Mongo 设置的一部分。顺便说一句,我粘贴了整个 docker-compose 及其输出。
从波纹管日志我可以看到提高 Mongo 没有问题。当 mongo-express 尝试连接到 Mongo 服务时会出现一些问题,可能是因为我没有正确设置链接。最重要的是,我的 Spring Webflux 成功连接到具有波纹管属性的 Mongo DB。该问题实际上仅限于 mongo-express 到达 mongodb。
允许 Spring Data (spring-boot-starter-data-mongodb-reactive) 成功连接到此类 MongoDb 的 application.yml
spring:
data:
mongodb:
host: 192.168.99.100
port: 27017
database: demodb
authentication-database: admin
username: root
password: rootpassword
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: '3.7'
services:
mongo-express:
image: mongo-express
ports:
- 8081:8081
environment:
ME_CONFIG_BASICAUTH_USERNAME: admin
ME_CONFIG_BASICAUTH_PASSWORD: q
ME_CONFIG_MONGODB_PORT: 27017 …Run Code Online (Sandbox Code Playgroud) mongodb spring-data-mongodb docker docker-compose mongo-express
我有一个 docker compose .yml 文件,用于在 Linux Azure 应用服务上手动安装和运行多个 docker 映像。我的下一步是通过 Azure Pipelines 自动执行此操作,我已成功为单个映像执行此操作;但无法弄清楚如何为同一应用服务实例上的多个图像执行此操作。
这是在同一应用服务实例上运行多个图像的客户端要求。如果有更好的方法,我有一些灵活性,但成本是一个因素。
我特别在寻找要添加到我的发布管道中的任务类型,以及是否有任何我可以阅读的示例或文档。到目前为止,我还没有发现任何似乎真正符合要求的东西,但我不是 DevOps 工程师,所以很可能我只是没有正确地问这个问题。
这是我拥有的 docker compose yml 文件的示例。
version: '3.7'
services:
exampleapi:
image: examplecontainerregistry.azurecr.io/example.api:latest
container_name: example.api
volumes:
- example:/mnt/example
- common:/mnt/common
certprojectservice:
image: examplecontainerregistry.azurecr.io/example.certproject.service:latest
container_name: example.certproject.service
volumes:
- example:/mnt/example
- common:/mnt/common
unityemailservice:
image: examplecontainerregistry.azurecr.io/example.email.service:latest
container_name: example.email.service
volumes:
- example:/mnt/example
- common:/mnt/common
eventconsumerservice:
image: examplecontainerregistry.azurecr.io/example.eventconsumers.service:latest
container_name: example.eventconsumers.service
volumes:
- example:/mnt/example
- common:/mnt/common
webhookresponseservice:
image: examplecontainerregistry.azurecr.io/example.webhookresponse.service:latest
container_name: example.webhookresponse.service
volumes:
- example:/mnt/example
- common:/mnt/common
unitywebhooksservice:
image: examplecontainerregistry.azurecr.io/example.webhooks.service:latest
container_name: example.webhooks.service …Run Code Online (Sandbox Code Playgroud) docker-compose azure-web-app-service docker-container azure-pipelines-release-pipeline
docker-compose ×10
docker ×9
angular ×1
azure-pipelines-release-pipeline ×1
django ×1
java ×1
jvm ×1
linux ×1
macos ×1
memory ×1
mongodb ×1
nginx ×1
php ×1
postgresql ×1
psql ×1