如何制作Docker镜像并上传到阿里云

前言

2024/3/6 更新创建阿里云容器服务和上传到阿里云

应该有不少小伙伴打不开dockerhub吧(doge),那本期教程教你如何制作完镜像上传到我们国内仓库,让大家都可以下载使用

打包镜像

Dockerfile

首先要在项目根目录下创建Dockerfile

注意名字要一模一样,而且没有后缀

在这里插入图片描述
成功创建的话,文件前面就会出现Docker的图标

我们必须在Dockerfile里面指定基本镜像,如果你想从头开始制作的话

FROM alpine:3.18
FROM centos:7
...

基本镜像就要使用操作系统

当然如果你图省事的话,可以用二次构建别人的镜像,eg:

FROM node:18.19-alpine3.18

我的一个web项目就使用了这样一个镜像,node:18.19-alpine3.18已经是由alpine这个Linux发行版构建来的了。

接着我们需要把本目录的文件复制到镜像的系统里面去,可以使用COPYADD命令

COPY source dest

source源路径是相对与Dockerfile文件而言的,dest目标路径是相于用镜像里的用户目录,这只是默认情况,我们可以指定工作目录

WORKDIR /usr/src/app

这样dest目标路径就会相对于这个工作目录

如果我需要复制本目录下的所有文件到目标路径的webapp目录下,可以

COPY . /webapp

如果突然不想复制某个文件或文件夹 ,比如node_moudules,我们只需要创建.dockerignore,填入

node_moudules

以上有几个需要注意的地方:

  • COPY命令遇到文件夹不会将整个文件夹拷贝,而是将里面的所有文件递归复制过去,这个bug feature 很久还没有被修复[1]
  • 涉及到目标路径的,都是相对于镜像所使用的操作系统。如果你还不明白我在说什么,找一台虚拟机或服务器在terminal输入~,看下显示的是啥路径

在这里插入图片描述

构建镜像、打标签、运行镜像

然后我们就可以使用docker build命令进行构建镜像了

docker build image[:version] .

// []是可选的内容,没有指定版本默认是latest .代表当前目录
// eg:
docker build webapp . 

发布镜像

登录Dockerhub

docker login 

如何输入账户和密码就可以了

这里只是提一下,我们的重点的是上传到阿里云

在阿里云容器服务个人版新建仓库

可以直接搜索容器镜像服务

在这里插入图片描述

进去之后是这样的,没有申请的需要申请

在这里插入图片描述
我们需要创建一个镜像仓库

在这里插入图片描述

提交镜像

docker login --username=aliyun9356116088 registry.cn-hangzhou.aliyuncs.com

用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码

然后我们需要给本地镜像打上标签

docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/dsusch/xxx-webapp:[镜像版本号]

最后提交上去就可以啦

docker push registry.cn-hangzhou.aliyuncs.com/dsusch/xxx-webapp:[镜像版本号]

还没写完,会持续更新滴~

参考:
[1]:https://www.iszy.cc/archives/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值