我是 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”用户及其虚拟环境导致“用户不存在”错误。
当您添加 --rm 时,一旦迭代结束,容器将被删除。
--rm
以保留容器--restart unless-stopped
,这样在计算机重新启动的情况下,一旦 docker 服务启动,容器就会自动启动。docker run -it --restart except-stopped -p 8888:8080 python:3.8-slim