I am new to docker. I found that we can set environment variables using ENV instruction in the Dockerfile. But how does one set bash aliases for long commands in Dockerfile?
Basically like you always do, by adding it to the users
FROM foo RUN echo 'alias hi="echo hello"' >> ~/.bashrc
As usual this will only work for interactive shells:
docker build -t test . docker run -it --rm --entrypoint /bin/bash test hi /bin/bash: hi: No such file or directory docker run -it --rm test bash $ hi hello
For non-interactive shells you should create a small script and put it in your path, i.e.:
echo '#!/bin/bash\necho hello' > /usr/bin/hi chmod +x /usr/bin/hi