Jes*_*ral 2 django docker dockerfile docker-compose docker-container
当我运行我的容器时,它只是挂在下一行,如果我写
\n\n\n \n\n\n
我明白了
\n\n\n\n\n无法连接到 0.0.0.0 端口 8000:连接拒绝
\n
这是我的 dockerfile
\n\nFROM python:3.6.1\n\n# Set the working directory to /app\nWORKDIR /app\n\n# Copy the current directory contents into the container at /app\nADD . /app\n\nRUN pip3 install -r requirements.txt\n\nCMD ["python3", "dockerizing/manage.py", "runserver", "0.0.0.0:8000"]\nRun Code Online (Sandbox Code Playgroud)\n\n我还尝试通过 docker-compose.yml 文件执行此操作,但再次没有任何反应,我\xc2\xb4ve 搜索了很多,并且 Haven\xc2\xb4t 找到了解决方案,这是 docker-compose.yml
\n\nversion: "3"\nservices:\n web:\n image: app1\n deploy:\n replicas: 5\n resources:\n limits:\n cpus: "0.1"\n memory: 50M\n restart_policy:\n condition: on-failure\n ports:\n - "8000:8000"\n networks:\n - webnet\nnetworks:\n webnet:\nRun Code Online (Sandbox Code Playgroud)\n\n顺便说一句,如果我使用 myapp 映像运行 docker ps ,我会得到以下结果:
\n\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\ne9633657f060 app1 "python3 dockerizi..." 5 seconds ago Up 5 seconds friendly_dijkstra\nRun Code Online (Sandbox Code Playgroud)\n\n当我使用 django-compose.yml 部署服务时,docker ps我得到以下信息:
`MacBook-Pro-de-Jesus:docker-django Almaral$ docker ps\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\n13677a71d9d5 app1:latest "python3 dockerizin..." 15 seconds ago Up 11 seconds getstartedlab_web.1.cq3zqmpfsii5g6m5r9qsnmtb1\nc6693118ef70 app1:latest "python3 dockerizin..." 16 seconds ago Up 12 seconds getstartedlab_web.4.r472oh80s4zd1yymj447f1df6\nf3822e47970b app1:latest "python3 dockerizin..." 16 seconds ago Up 12 seconds getstartedlab_web.2.lkp43v9h30esjohcnf3pe31hi\nf66a4038ebdf app1:latest "python3 dockerizin..." 16 seconds ago Up 12 seconds getstartedlab_web.5.xxu01ruebd84tnlxmoymsu0vo\ne3d31c419c11 app1:latest "python3 dockerizin..." 16 seconds ago Up 13 seconds getstartedlab_web.3.uqswgirmg22sjnekzmf5b4xo7`\nRun Code Online (Sandbox Code Playgroud)\n
您的docker ps输出在 PORTS 列中没有显示任何内容。这意味着没有从主机到容器的端口转发。
[...] STATUS PORTS NAMES
[...] Up 5 seconds friendly_dijkstra
Run Code Online (Sandbox Code Playgroud)
如果您使用命令docker run来运行容器,则应使用命令选项在主机和容器上显式指定端口号-p hostPort:containerPort
docker run -p 8000:8000 app1
Run Code Online (Sandbox Code Playgroud)
现在,运行docker ps应该显示端口转发。
[...] STATUS PORTS NAMES
[...] Up 5 seconds 0.0.0.0:8000->8000/tcp friendly_dijkstra
Run Code Online (Sandbox Code Playgroud)
如果您使用docker-compose启动容器,则主机和容器端口已在 docker-compose.yml 文件中配置,因此您不需要命令行选项。
docker-compose up web
Run Code Online (Sandbox Code Playgroud)
要使用 docker compose,您必须将其安装在主机上。这是一个python模块,所以你可以用pip安装它pip install docker-compose
| 归档时间: |
|
| 查看次数: |
4886 次 |
| 最近记录: |