testcontainers / testcontainers/testcontainers-python
docker.errors.NotFound: 404 Client Error when launching MongoDB on Ubuntu 22.04 running in WSL2.
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 2.3k
- フォーク
- 386
- 平均マージ
- 4時間 40分
- マージ済み PR(30日)
- 1
説明
Describe the bug
...expected it to run?
To Reproduce
Provide a self-contained code snippet that illustrates the bug or unexpected behavior. Ideally, send a Pull Request to illustrate with a test that illustrates the problem.
from motor.motor_asyncio import AsyncIOMotorClient, AsyncIOMotorCollection
from testcontainers.core.container import DockerContainer
from testcontainers.mongodb import MongoDbContainer
from testcontainers.core.waiting_utils import wait_for
async def test_db():
with DockerContainer("mongodb/mongodb-community-server:latest").with_bind_ports(27017, 27017) as mongo_container:
def connect():
return AsyncIOMotorClient("mongodb://{}:{}".format(mongo_container.get_container_host_ip(),
mongo_container.get_exposed_port(27017)))
db = wait_for(connect).primer
result = db["restaurants"].insert_one(
{
"address": {
"street": "2 Avenue",
"zipcode": "10075",
"building": "1480",
"coord": [-73.9557413, 40.7720266]
},
"borough": "Manhattan",
"cuisine": "Italian",
"name": "Vella",
"restaurant_id": "41704620"
}
)
cursor = db.restaurants.find({"borough": "Manhattan"})
for document in await cursor.to_list(1000):
print(document)
Runtime environment
Provide a summary of your runtime environment. Which operating system, python version, and docker version are you using? What is the version of testcontainers-python you are using? You can run the following commands to get the relevant information.
# Get the operating system information (on a unix os).
$ uname -a
Linux DESKTOP-GJIUB03 5.15.90.1-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
# Get the python version.
$ python --version
Python 3.10.6
# Get the docker version and other docker information.
$ docker info
https://pastebin.com/raw/5meC1tZJ
# Get all python packages.
$ pip freeze
https://pastebin.com/raw/zJQfnQkb
Latest version of testcontainers-python and MongoDB.
Full traceback when I run the snippet: https://pastebin.com/raw/3TvwYiLa (warn me if I doxxed myself in somewhere)
I can launch this container inside WSL, so Docker is working. Weird.

コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、WSL2 上の Ubuntu 22.04 で DockerContainer または MongoDbContainer を使用して、提供された Python スニペットを再現します。リンクされた traceback、Docker 情報、パッケージのバージョンを確認し、MongoDB の起動が 404 を返す理由を特定します。原因が文書化され、報告された環境で MongoDB のテストが正常に実行されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- docker, mongodb, python
- 領域
- databases, devops, testing-qa
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100