我正在使用Docker Compose来编排由Django webapp和nginx反向代理组成的多容器应用程序。
我盯着一个简单的测试用例,但是我已经遇到了障碍。该应用程序应通过网络套接字()将所有请求传递/给Django应用程序。uwsgi_passfrontend:8000
但是,在启动应用程序后docker-compose up没有看到错误消息之后,任何/在控制台中产生以下错误消息的请求: gateway_1 | 2016/01/11 15:45:12 [error] 8#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.99.1, server: localhost, request: "GET / HTTP/1.1", upstream: "uwsgi://172.17.0.2:8000", host: "192.168.99.100:8000"
我的问题如下: 可能是什么问题?用替换uwsgi_pass frontend;该location块的content_by_lua_file path/to/file.lua;行为符合预期,因此我怀疑容器链接上的uWSGI有问题,但是我对接下来的查找感到迷惑。
以下是相关文件:
该docker-compose.yml文件如下:
postgres:
image: mystuff/app.testdb:latest
expose:
- "5432"
frontend:
image: mystuff/app.frontend:latest
expose:
- "8000"
environment:
APP_DBCONN: "user=xxx dbname=xxx port=5432 host=postgres …Run Code Online (Sandbox Code Playgroud) 我试图使用jhipster生成一套微服务架构的应用程序.在jhipster-devbox中,我执行以下操作:
$ mkdir mygateway && cd mygateway
$ yo jhipster - 选择网关,回答所有问题
$ ./gradlew bootRepackage -Pdev buildDocker 我想确保在我尝试将其移动到AWS之前全部在本地运行
$ cd.. && mkdir myapi && && cd myapi
$ yo jhipster - 选择微服务应用程序(与网关相同的包名称...不知道这是否重要,但不是这个问题)
$ ./gradlew bootRepackage -Pdev buildDocker
$ cd .. && mkdir docker-compose && cd docker-compose
$ yo jhipster:docker-compose (所有项目都成功运行到此点)
$ docker-compose up -d 收益:
错误:冲突.名称"/ jhipster-registry"已被容器a785f619b5dd985b3ff30a8ed6e41066795eb8b5e108d2549cd4a9d5dc27710a使用.您必须删除(或重命名)该容器才能重用该名称.
它会出现在"jhipster的注册表"可里面的gateway和api我刚刚创建的应用程序......我试图评论他们离开的app.yml文件没有成功?
如标题中所述,Logstash一旦启动便崩溃。
我正在通过Docker运行它。
这是我的输出:
logstash_1 | {:timestamp=>"2016-10-25T13:14:31.470000+0000", :message=>"Reading config file", :config_file=>"/etc/logstash/conf.d/logstash.conf", :level=>:debug, :file=>"logstash/config/loader.rb", :line=>"69", :method=>"local_config"}
logstash_1 | {:timestamp=>"2016-10-25T13:14:31.570000+0000", :message=>"Plugin not defined in namespace, checking for plugin file", :type=>"output", :name=>"stdout", :path=>"logstash/outputs/stdout", :level=>:debug, :file=>"logstash/plugin.rb", :line=>"86", :method=>"lookup"}
logstash_1 | {:timestamp=>"2016-10-25T13:14:31.584000+0000", :message=>"starting agent", :level=>:info, :file=>"logstash/agent.rb", :line=>"213", :method=>"execute"}
logstash_1 | {:timestamp=>"2016-10-25T13:14:31.585000+0000", :message=>"starting pipeline", :id=>"main", :level=>:info, :file=>"logstash/agent.rb", :line=>"487", :method=>"start_pipeline"}
logstash_1 | {:timestamp=>"2016-10-25T13:14:31.606000+0000", :message=>"Plugin not defined in namespace, checking for plugin file", :type=>"codec", :name=>"rubydebug", :path=>"logstash/codecs/rubydebug", :level=>:debug, :file=>"logstash/plugin.rb", :line=>"86", :method=>"lookup"}
logstash_1 | {:timestamp=>"2016-10-25T13:14:31.632000+0000", :message=>"config LogStash::Codecs::RubyDebug/@metadata = false", :level=>:debug, :file=>"logstash/config/mixin.rb", …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 docker 和 docker-compose 构建并运行 django 应用程序。\ndocker-compose build example_app并docker-compose run example_app运行时没有错误,但是当我转到http://127.0.0.1:8000/页面未打开时,我只是在浏览器中收到“页面不可用”错误。\ nHere 是我的 Dockeffile、docker-compose.yml 和项目结构
Dockerfile
\nFROM python:3.9-buster\n\nRUN mkdir app\nWORKDIR /app\nCOPY ./requirements.txt /app/requirements.txt\nCOPY ./requirements_dev.txt /app/requirements_dev.txt\nRUN pip install --upgrade pip\nRUN pip install -r /app/requirements.txt\nRun Code Online (Sandbox Code Playgroud)\ndocker-compose.yml
\nversion: '3'\n\nservices:\n example_app:\n image: example_app\n build:\n context: ../\n dockerfile: ./docker/Dockerfile\n command: bash -c "cd app_examples/drf_example && python manage.py runserver"\n volumes:\n - ..:/app\n ports:\n - 8000:8000\nRun Code Online (Sandbox Code Playgroud)\n项目结构:
\n\xe2\x94\x80\xe2\x94\x80app\n\xe2\x94\x80\xe2\x94\x80app_examples/drf_example/\n \xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80manage.py\n \xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80api\n \xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80drf_example\n\xe2\x94\x80\xe2\x94\x80requirements.txt\n\xe2\x94\x80\xe2\x94\x80requirements_dev.txt\n\xe2\x94\x80\xe2\x94\x80docker/\n \xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80docker-compose.yml\n \xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Dockerfile\nRun Code Online (Sandbox Code Playgroud)\n 使用docker-compose,使用 Nginx 基础映像中存在的目标目录安装卷可以按预期工作。docker-compose up但是,当挂载目标是在派生映像中创建的子目录时,我收到错误。这是错误的要点:
\n\n将“newdir”安装到“/usr/share/nginx/html/newdir”处的rootfs导致:\ nmkdir newdir:只读文件系统:未知
\n
我不明白为什么它似乎在尝试创建已经存在的目录( newdir )!
\n完整错误如下:
\nERROR: for test_nginx_1 Cannot start service nginx: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "/home/user/test/newdir" to rootfs at "/usr/share/nginx/html/newdir" caused: mkdir /var/lib/docker/overlay2/accdaa147d7825a7d2c71b68f76e0b8663d00f6e46fcfb5c0ec32ada8baf85af/merged/usr/share/nginx/html/newdir: read-only file system: unknown\n\nERROR: for nginx Cannot start service nginx: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行 Flask 和 MongoDb 应用程序并收到以下错误。这是我可以使用获取的日志sudo docker logs <container-name>
self._select_servers_loop(
File "/usr/local/lib/python3.10/site-packages/pymongo/topology.py", line 227, in _select_servers_loop
raise ServerSelectionTimeoutError(
pymongo.errors.ServerSelectionTimeoutError: db:27017: timed out, Timeout: 30s, Topology Description: <TopologyDescription id: 626fc61ba785d70a66a1ea12, topology_type: Unknown, servers: [<ServerDescription ('db', 27017) server_type: Unknown, rtt: None, error=NetworkTimeout('db:27017: timed out')>]>
Run Code Online (Sandbox Code Playgroud)
当我尝试访问本地主机时,我在日志中收到上述错误。当我尝试在浏览器中访问本地主机时,我看到connection was reset错误,然后我看到生成了上述日志。
这是我的 app.py 文件
from flask_restful import Api, Resource
import os
from pymongo import MongoClient
app = Flask(__name__)
api = Api(app)
client = MongoClient("mongodb://db:27017", port=27017, directConnection=True)
db = client.aNewDB
UserNum = db["UserNum"]
UserNum.insert_one({
'num_of_users':0 …Run Code Online (Sandbox Code Playgroud) 我需要一个可以监视 SNMP 代理的 SNMP 服务器。为此,我编写了一个基本的Python应用程序,并运行了一个SNMP代理(基于polinux/snmpd图像),在同一网络上,该代理具有固定的IP地址。当我从服务器容器运行 SNMP get 查询时,我得到了所需的 OIB,但是当我想使用 PySnmp 以编程方式执行相同操作时,它不起作用。我尝试了很多方法但没有成功。
你有什么主意吗?
我的泊坞窗撰写文件:
services:
spm-health-service:
build:
context: .
dockerfile: docker/Dockerfile
restart: unless-stopped
env_file:
- .env
ports:
- "4500:4500"
depends_on:
- scs-server
- network-device-identifier
spm:
image: polinux/snmpd
restart: unless-stopped
privileged: true
ports:
- "161:161/udp"
volumes:
- ./resources/snmpd-conf/snmpd.conf:/etc/snmp/snmpd.conf
- ./resources/spm-mib/:/usr/local/share/snmp/mibs/
networks:
default:
ipv4_address: 10.5.0.5
networks:
default:
driver: bridge
ipam:
config:
- subnet: 10.5.0.0/16
gateway: 10.5.0.1
Run Code Online (Sandbox Code Playgroud)
当我进入“spm-health-service”的bash shell时,我的命令和结果:
$ winpty docker exec -it 627 bash
root@627d241920e3:/app# snmpget -v2c -t 10 -c …Run Code Online (Sandbox Code Playgroud) 图像 m2 在 MacBook 上运行良好。当我在 Ubuntu 上安装并运行它时出现错误。
命令;
docker pull mademustafa/postmage:latest
docker run -it mademustafa/postmage:latest
Run Code Online (Sandbox Code Playgroud)
错误;
WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and a specific platform was not requested
exec /usr/local/openjdk-11/bin/java: exec format error
Run Code Online (Sandbox Code Playgroud)
我是按照以下文档进行安装的;
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04
https://ktor.io/docs/docker.html#build-run
(Ubuntu 20.04(LTS)x64)
我想使用 minio 创建一个 docker 容器,并同时创建一个存储桶。当我尝试转到控制台 (localhost:9001) 时,出现错误。我的怎么了docker-compose?
docker-compose.yaml:
version: '3'
services:
minio:
image: minio/minio:latest
container_name: minio
ports:
- 9000:9000
- 9001:9001
volumes:
- "./data:/data"
- "./config:/root/.minio"
environment:
MINIO_ACCESS_KEY: minio-access-key
MINIO_SECRET_KEY: minio-secret-key
command: server /data && server /minio-image/storage --console-address :9001
networks:
- minio-network
restart: always
create-bucket:
image: minio/mc:latest
container_name: create-post-bucket
environment:
MINIO_HOST: minio
MINIO_ACCESS_KEY: minio-access-key
MINIO_SECRET_KEY: minio-secret-key
entrypoint: ["sh", "-c"]
command: "mc mb local/post-bucket || true"
depends_on:
- minio
networks:
- minio-network
networks:
minio-network:
Run Code Online (Sandbox Code Playgroud) 我使用的是 Windows 机器,并且已经安装了 wsl 以便能够使用 Docker 桌面。当然构建失败了,然后我在dockerfile中观察到了python3和pip3。所以我通过 wsl 安装了 ubuntu 和 debian,然后尝试运行该应用程序(docker-compose up)。它仍然失败并抛出以下错误:
\n ERROR [test 3/5] RUN pip3 install daff==1.3.46 0.9s\n------\n > [test 3/5] RUN pip3 install daff==1.3.46:\n0.812 error: externally-managed-environment\n0.812\n0.812 \xc3\x97 This environment is externally managed\n0.812 \xe2\x95\xb0\xe2\x94\x80> To install Python packages system-wide, try apt install\n0.812 python3-xyz, where xyz is the package you are trying to\n0.812 install.\n0.812\n0.812 If you wish to install a non-Debian-packaged Python package,\n0.812 create a virtual environment using python3 -m venv path/to/venv.\n0.812 Then use path/to/venv/bin/python and path/to/venv/bin/pip. …Run Code Online (Sandbox Code Playgroud)