我想将$ PS1环境变量设置为容器。它可以帮助我识别多级或复杂的docker环境设置。当前docker容器提示
root @ container-id#
如果可以按以下方式进行更改,则可以通过查看$ PS1提示本身来识别容器。
[Level-1] root @ container-id#
我通过制作自己的映像(Dockerfile)、. profile文件等导出$ PS1进行了实验,但这并没有反映出来。
此DockerfilePS1通过执行以下操作进行设置:
RUN echo 'export PS1="[\u@docker] \W # "' >> /root/.bash_profile
Run Code Online (Sandbox Code Playgroud)
我有同样的问题,但在docker-compose上下文中。
这是我设法使它工作的方法:
# docker-compose.yml
version: '3'
services:
my_service:
image: my/image
environment:
- "PS1=$$(whoami):$$(pwd) $$ "
Run Code Online (Sandbox Code Playgroud)
只需在docker-compose.yml配置文件中将 PS1 值作为环境变量传递即可。
请注意如何对美元符号进行转义以防止docker-compose插入值(文档)。
我通常创建 /home/USER/.bashrc 或 /root/.bashrc,具体取决于 Dockerfile 的用户是谁。效果很好。我试过了
ENV PS1 '# '
Run Code Online (Sandbox Code Playgroud)
但这对我来说从来没有用过。
| 归档时间: |
|
| 查看次数: |
6683 次 |
| 最近记录: |