【发布时间】:2020-05-05 08:48:48
【问题描述】:
问题
鉴于.zshrc 文件已经在容器中,我想在使用docker run -it container_name 进入docker 容器时加载自定义.zshrc。
说明
我有一个具有以下结构的 Dockerfile:
FROM archlinux:latest
# Install things...
# Install zsh & oh-my-zsh
# Retrieve custom .zshrc from a repository and place it at ~/.zshrc
# Clone extensions for oh-my-zsh
# Run zsh on container start
CMD [ "zsh" ]
这一切都有效。如果我进入容器,我可以看到我的自定义 .zshrc 文件在它应该在的位置,如果我运行 source ~/.zshrc,它会被加载并且所有扩展都可以工作。
尝试
我尝试在CMD 步骤中直接获取配置文件,但找不到指定的文件。更新后的行如下所示:
CMD [ "zsh && source ~/.zshrc" ]
我知道这可能不是使用 docker 容器的预期方式,但它更像是一种学习体验,我想看看是否可以做到。
【问题讨论】:
-
您可以映射您的目录。 docs.docker.com/storage/volumes
-
我真的不明白它是如何工作的。这是否意味着我必须在我的主机上本地拥有该文件?我想知道是否可以在 docker 容器中使用已经克隆的文件。
-
@alexHexan : 我对docker的了解不够,但是你能不能在docker配置中设置一个环境变量,然后在zsh启动之前建立?如果您设置变量
ZDOTDIR,它必须命名一个目录,然后.zshrc 来自该目录而不是$HOME。
标签: docker dockerfile zsh oh-my-zsh zshrc