在Dockerfile文件中使用workdir时,会切换镜像的工作目录,使用了多个workdir时,容器实际启动时的工作目录以最后一个为准,workdir命令所切换的path如果不存在,则会创建。docker run -w newPath 命令在拉起一个容器时不会覆盖Dockerfile文件中使用的workdir(书本说覆盖有误导嫌疑),实际上传入newPath只会在容器拉起后将容器的工作目录切换到newPath中。
在Dockerfile中使用user指令来设置用户名时,需要事先使用 RUN useradd -s /bin/bash user 添加好对应的用户,否则会提示docker: Error response from daemon: unable to find user myuser: no matching entries in passwd file错误,也可以在docker run -u 123 拉起容器时,使用-u选项传入一个用户id,这个id无需事先添加。