AWS ECR(AWS 云内的 docker 镜像私有存储库)--步骤
最编程
2024-03-08 21:23:03
...
创建docker镜像私库
打开AWS ECR主页,创建一个docker镜像私库,如下图:
设置私有镜像库名称,直接创建私有库,如下图:
结果如下图:
AWS CLI推送镜像
选中镜像库,选择“查看推送命令”,如下图:
设置本地CLI,登录AWS ECR的docker镜像库,如下命令:
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin xxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com
登录成功如下图:
构建Docker镜像
准备一个Spring Hello World项目
package com.xxxx.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/")
public String hello() {
return "Hello World!";
}
}
Dockerfile
FROM bellsoft/liberica-openjdk-alpine-musl:17
RUN addgroup -S spring && adduser -S spring -G spring
USER spring:spring
VOLUME /tmp
WORKDIR /home/myapp
COPY target/*.jar app.jar
EXPOSE 8080
CMD ["java", "-jar", "app.jar"]
构建镜像
docker build -t demo .
本地测试镜像
docker run -p 8080:8080 -it --rm --name my-spring-app demo
运行之前本地构建的docker镜像,启动之后,打开如下页面:
本地docker镜像没有问题后,我们下一步开始给本地docker镜像打tag。
打标签Docker镜像
docker tag demo:latest xxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/demo:latest
推送到AWS ECR中
docker push xxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/demo:latest
等待上传成功后,就可以去 AWS ECR主页查看刚上传的镜像了,如下图:
到此为止。