如何使用指定Dockerfile创建Docker镜像(单命令实现)
如何使用给定的Dockerfile创建镜像?
你说得没错!确实只需要一条核心命令就能完成镜像构建,不过得先确认几个前置条件,我一步步给你拆解:
- 确认依赖文件存在:你的Dockerfile里用到了
sshd_config和authorized_keys两个文件,必须把这两个文件和Dockerfile放在同一个目录下,不然构建时COPY指令会找不到文件报错。 - 执行构建命令:打开终端,切换到Dockerfile所在的目录,运行这条命令:
这里的docker build -t my-aspnetcore-ssh-image .-t是给镜像打一个自定义标签(比如my-aspnetcore-ssh-image,你可以改成自己喜欢的名字),最后的.表示用当前目录作为构建上下文(Docker会在这里找Dockerfile和需要复制的文件)。 - 验证构建结果:构建完成后,运行
docker images命令,就能在列表里看到你刚创建的镜像了。
额外小提示
如果后续通过SSH连接容器时遇到权限问题,大概率是authorized_keys的权限不符合SSH要求,可以在Dockerfile的COPY authorized_keys root/.ssh/authorized_keys后面加一行:
RUN chmod 600 /root/.ssh/authorized_keys
SSH对密钥文件的权限要求很严格,必须设置为仅所有者可读可写,否则会拒绝连接。
内容的提问来源于stack exchange,提问作者w0051977
相关产品推荐
相关产品推荐

