searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

从制作镜像到推送镜像至远程镜像库全过程

2024-05-30 03:12:49
3
0

前提条件:

1、假设我们已安装了Docker并具有对应的操作权限

2、我们已经将可运行的代码打包好

3、已拥有镜像仓库

一、镜像的制作

1、Dockerfile的制作

我们需要使用到Dockerfile文件进行镜像的制作。下面是一个简单的Dockerfile文件:

# 需要有jdk的基础镜像 
FROM jdk8 
# 将jar包添加到工作目录/usr/local,可指定其他
ADD ./demo.jar /usr/local 
# 声明工作目录
WORKDIR /usr/local 
# 执行定位到工作目录的操作
RUN cd /usr/local && ls 
# 最终的启动命令
CMD [“java”, “-jar”, “/usr/local/demo.jar”] 

2、镜像的生成

假设我们的jar包和dockerfile文件在同一目录下,下面我们就可以使用Docker命令来制作镜像,命令如下:

# 注意最后的小点
sudo docker build -f ./Dockerfile -t demo:v1 .
  • docker build  # docker 用来执行制作镜像的命令
  • -f ./Dockerfile  # -f 后面跟dockerfile文件的路径
  • -t demo:v1  # -t 后面跟镜像的名称和标签,可自己定

执行完上述命令之后,镜像将保存在我们本地的docker镜像仓库中,使用镜像查询命令可以进行查看,如下:

sudo docker images | grep demo

 

二、镜像的推送

假设我们远程仓库的地址是:domain.crs.ctyun.cn:30016/demo

那我们可以使用以下命令进行镜像的推送

# 查找镜像ID
sudo docker images | grep demo

# 重新打标签
sudo docker tag <imageId> domain.crs.ctyun.cn:30016/demo:<版本号> 

# 推送镜像
sudo docker push domain.crs.ctyun.cn:30016/demo:<版本号> 
  • 远程镜像仓库有时需要登录权限,需要先获取对应的权限,然后使用 sudo docker login 命令进行登录
  • 使用docker images 命令后,镜像ID一般在第3列,是一个12位的字符串
  • 使用docker tag 命令后面如果不带版本号的话,默认版本号是latest
0条评论
0 / 1000
陈****存
2文章数
0粉丝数
陈****存
2 文章 | 0 粉丝