阿里云代码上传及容器镜像制作

阿里云镜像制作实现镜像加速

本地代码上传阿里云

# 因为镜像是交由阿里云制作,所以首先将自己的本地代码上传至阿里云中。
代码保存地址:https://code.aliyun.com/

操作步骤

1)登录阿里云代码仓库,然后点击新建项目

  1. 输入项目名,并点击创建项目

  1. 代码仓库准备好,就按照下图操作,在本地进行代码上传

4)本地操作

# 1.安装git
[root@db01 opt]# yum install -y git

# 2.根据上图提示,git全局设置
[root@db01 opt]# git config --global user.name "玉采汤"
[root@db01 opt]# git config --global user.email "1213261357@qq.com"

# 3.自动目录创建
[root@db01 opt]# git clone git@code.aliyun.com:lindytom/demonstration.git
[root@db01 opt]# ll
drwxr-xr-x 3 root root 18 Aug 31 23:54 demonstration

# 4.进入目录中,并且根据上图创建相关文件
[root@db01 opt]# cd demonstration/
[root@db01 demonstration]# touch README.md

# 5. 本地项目书写
[root@db01 demonstration]# mkdir k8s
[root@db01 demonstration]# cd k8s/
[root@db01 k8s]# cat Dockerfile 
FROM centos
RUN yum update -y
RUN yum install wget -y 
RUN wget https://dl.k8s.io/v1.18.8/kubernetes-client-linux-amd64.tar.gz

# 6.退出到 demonstration目录下,点表示将当前目录下所有文件或目录上传
[root@db01 demonstration]# git add .

# 7.为此次提交书写注释信息-m后面必须书写注释信息,可随意定义
[root@db01 demonstration]# git commit -m "test"
[master 97242b5] test
 1 file changed, 4 insertions(+)
 create mode 100644 k8s/Dockerfile

# 8.目录文件推送至代码仓库
[root@db01 demonstration]# git push -u origin master
Counting objects: 7, done.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (7/7), 625 bytes | 0 bytes/s, done.
Total 7 (delta 0), reused 0 (delta 0)
To git@code.aliyun.com:lindytom/demonstration.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

# 9.代码仓库查看结果(图一,图二)
  • 图一(代码仓库中的上传文件)

  • 图二,依次点击进入可以上传的文件

代码仓库注意事项:

如果本机是第一次上传代码至阿里云中,因需输入账号密码,可能会出现无法上传问题,可在本地生成秘钥对,将公钥上传至阿里云中即可

# 本地生成秘钥对
[root@db01 demonstration]# ssh-keygen

# 查看对应目录生成文件
[root@db01 demonstration]# cd ~/.ssh/
[root@db01 .ssh]# ll
-rw------- 1 root root 1679 Sep  1 00:21 id_rsa
-rw-r--r-- 1 root root  391 Sep  1 00:21 id_rsa.pub
-rw-r--r-- 1 root root  411 Aug 30 20:41 known_hosts

# 查看公钥文件
[root@db01 .ssh]# cat id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5TWyetvhwTogGUhneJQYgwbwJ3Z3YOZ0047xoVyNKw9B0piBbzSmMrYiuHdivZJ0wSOCoeJX/s1TW+bfMcvgq5Wv2v4qV2z8uKGrQ7vyEOqpIS28VuhffhAnhfx3xRsg7UWE2ys8aiL+WieArzlZGVcSo7joZUXwTHwRWxF46HwPXRQipfoJtxPK0T6Y69C1KOgAhDg4CHJTgaL3lDN1Zyt/vYwQBosieDxGbi44J9tluj826ZYrY8zFRfSN8Vi7GOb99D93wRx2xEvk8G3moZjvcx9pT1BC09LC8c6UIUZj4x69WY5kToy+j/SN6CwKzwvo8K7x93JPYdkIoc8KF root@db01

# 将公钥复制到阿里云代码仓库(图三、图四、图五)
  • 图三

  • 图四

  • 图五

阿里云镜像制作

# 注意: 
如果是首次进行镜像制作,登录阿里云后需要进行阿里云和代码仓库的绑定。

# 说明:
本地制作镜像是基于dockerfile文件,而阿里云中镜像制作则基于代码仓库中文件。

# 为什么要使用阿里云制作镜像
当使用docker制作dockerfile文件时,避免不了需要基于镜像书写dockerfile文件,但有些镜像本身在国外,在本地拉取首先不谈能不能拉取下来的问题,肯定的是阿里云的拉取速度是比本地速度更快的,所以就这里就需要将本地代码上传至阿里云的代码仓库中,然后从阿里云的容器镜像站获取代码仓库中的dockerfile文件,从而进行镜像制作,制作完成后,本地再进行制作好的镜像拉取。

操作步骤

1)进入阿里云中,选择容器镜像服务

2)点击管理控制台

3) 点击创建镜像仓库

4)注意,这里的命名空间必须唯一,如果命名空间无法书写,可自行创建命名空间

5)因为之前我已经进行了容器镜像站和代码仓库的绑定,这里直接可以选择,首次需要进行绑定

  1. 选择创建容器仓库

7)点击进入,然后进行构建镜像

8)镜像构建

9)这里指定的dockerfile目录一定要为代码仓库的目录,比如demonstration就是根,则下级的目录需要写出来

我这里是将demonstration/k8s/Dockerfile文件制作为镜像

10)点击立即构建

11)点击日志,可对构建过程进行查看

  1. 成功

13)可根据此提示进行容器拉取

本地拉取容器

# 以下操作均需基于安装docker环境

# 书写Dockerfie文件
[root@db01 opt]# cat Dockerfile 
FROM registry.cn-hangzhou.aliyuncs.com/lindytom/ks8:v1.18.8

# 根据dockerfile文件制作镜像
[root@db01 opt]# docker build -t k8s:v1.18.8 .

# 查看镜像
[root@db01 opt]# docker images
k8s                                               v1.18.8             195ba3c59337        8 hours ago         283MB
registry.cn-hangzhou.aliyuncs.com/lindytom/ks8    v1.18.8             195ba3c59337        8 hours ago         283MB

# 进入容器,查看是否有文件
[root@db01 opt]# docker run -it --name kbv 195ba3c59337 
[root@ccdcad5c7c4e /]# ls -l(这里就通过阿里云将国外的k8s文件拉取到容器中)
total 12928
lrwxrwxrwx   1 root root        7 May 11  2019 bin -> usr/bin
drwxr-xr-x   5 root root      360 Aug 31 17:03 dev
drwxr-xr-x   1 root root       66 Aug 31 17:03 etc
drwxr-xr-x   2 root root        6 May 11  2019 home
-rw-r--r--   1 root root 13237066 Aug 13 18:09 kubernetes-client-linux-amd64.tar.gz
lrwxrwxrwx   1 root root        7 May 11  2019 lib -> usr/lib
lrwxrwxrwx   1 root root        9 May 11  2019 lib64 -> usr/lib64
drwx------   2 root root        6 Aug  9 21:40 lost+found
drwxr-xr-x   2 root root        6 May 11  2019 media
drwxr-xr-x   2 root root        6 May 11  2019 mnt
drwxr-xr-x   2 root root        6 May 11  2019 opt
dr-xr-xr-x 113 root root        0 Aug 31 17:03 proc
dr-xr-x---   2 root root      162 Aug  9 21:40 root
drwxr-xr-x  11 root root      163 Aug  9 21:40 run
lrwxrwxrwx   1 root root        8 May 11  2019 sbin -> usr/sbin
drwxr-xr-x   2 root root        6 May 11  2019 srv
dr-xr-xr-x  13 root root        0 Aug 31 17:03 sys
drwxrwxrwt   1 root root        6 Aug 31 08:51 tmp
drwxr-xr-x   1 root root       54 Aug  9 21:40 usr
drwxr-xr-x   1 root root       52 Aug  9 21:40 var

# 退出容器并保持前台运行
Ctrl + P + Q 退出容器保持后台运行(按住ctrl和P 再按Q

# 将容器中的文件拷贝至本地,实现通过容器将国外安装包容器拉取
[root@db01 opt]# docker cp kbv:/kubernetes-client-linux-amd64.tar.gz .
posted @ 2020-08-31 17:30  元气少女郭德纲!!  阅读(50)  评论(0编辑  收藏  举报