在 Apache Airflow 的 Docker 容器中保留更改和用户设置时出现问题

问题描述 投票:0回答:1

我是 Docker 新手,最近尝试按照一些在线教程在 Docker 容器中设置 Apache Airflow。以下是我所采取步骤的详细说明: 我使用以下命令运行 Docker 容器:docker run -it --rm -p 8888:8080 python:3.8-slim /bin/bash 我使用以下命令为 Apache Airflow 创建了一个单独的路径:export AIRFLOW_HOME=/opt/airflow 我使用以下命令添加了一个名为“airflow”的用户:useradd -ms /bin/bash -d ${AIRFLOW_HOME} airflow 我导航到该路径并为 Apache Airflow 创建了一个虚拟环境:su - airflow cd /opt/气流 python -m venv .airflowvirtualenv 源 .airflowvirtualenv/bin/activate 但是,重新启动机器后,我遇到了问题。 Docker GUI 显示了容器及其关联的映像文件,我可以访问容器的根用户。但是当我尝试访问“airflow”用户及其虚拟环境时,收到“用户不存在”错误。

我的目标是在容器重新启动时保留用户设置和虚拟环境并安装airflow python。我不确定如何在 Docker 容器中有效地保留这些更改,并且我希望获得有关如何完成此操作的指导。

任何人都可以提供有关如何在 Docker 容器中保留用户设置和虚拟环境以便在重新启动时一致使用 Apache Airflow 的见解吗?

但是,当我重新启动机器时,问题出现了。虽然 Docker GUI 显示了容器和关联的映像文件,但我只能访问容器的 root 用户。尝试访问“airflow”用户及其虚拟环境导致“用户不存在”错误。

docker airflow virtualenv data-engineering
1个回答
0
投票

当您添加 --rm 时,一旦迭代结束,容器将被删除。

  • 取下
    --rm
    以保留容器
  • 您还可以添加
    --restart unless-stopped
    ,这样在计算机重新启动的情况下,一旦 docker 服务启动,容器就会自动启动。

docker run -it --restart except-stopped -p 8888:8080 python:3.8-slim

© www.soinside.com 2019 - 2024. All rights reserved.