制作容器时,啥是远程 Docker 解释器?

Posted

技术标签:

【中文标题】制作容器时,啥是远程 Docker 解释器?【英文标题】:What is a remote Docker interpreter when you make a container?制作容器时,什么是远程 Docker 解释器? 【发布时间】:2020-10-03 12:13:49 【问题描述】:

例如,如果您正在为 Django 项目制作容器,那么远程解释器是存储在 Docker 云中而不是您的 PC 上的 Python 解释器吗?

所以当有人在另一台 PC 上运行容器时,它会使用 Docker 云中为该项目指定的同一个远程解释器?

【问题讨论】:

什么是 docker 云?你是说 DockerHub(它是一个images 的存储库,不运行容器)还是一些运行 docker 的服务,比如 Azure/AWS 等? 【参考方案1】:

你的 docker docker 容器就像一个包含 python 解释器 + django 源代码 + 其他任何东西的盒子。

所以当你用你的 Django 应用程序制作 Docker 容器时,你显然有一个 Dockerfile 看起来像这样:

FROM python:3.8.0-alpine

# set work directory
WORKDIR /usr/src/app

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# install dependencies
RUN pip install --upgrade pip
COPY ./requirements.txt /usr/src/app/requirements.txt
RUN pip install -r requirements.txt

# copy project
COPY . /usr/src/app/

docker-compose.yml

版本:'3.7'

services:
  web:
    build: ./app
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - ./app/:/usr/src/app/
    ports:
      - 8000:8000
    env_file:
      - ./.env.dev

因此,当有人在另一台 PC 上运行容器时,它将使用容器中相同的本地解释器。

【讨论】:

那么为什么解释器实际上位于容器内部时却被称为“remote”(来源:blog.jetbrains.com/pycharm/2015/12/using-docker-in-pycharm)? 因为它在容器中的某个地方:) 我不会将 pycharm 的术语与 docker 核心混在一起。容器的重点是将所有依赖代码打包并放置为一个独立的“盒子”

以上是关于制作容器时,啥是远程 Docker 解释器?的主要内容,如果未能解决你的问题,请参考以下文章

VsCode远程调试,更改pythonpath指向docker容器的python解释器

Pycharm 使用 Docker Container Python 作为远程解释器

C++中啥是容器?可不可以具体解释一下

Pycharm docker-compose解释器不加载库

PyCharm:使用 docker 容器设置 python 解释器,但使用 `--cpuset-cpus`

Pycharm 2017.1 EAP Python控制台和远程Docker解释器无法协同工作