Use o Docker para criar um espelho e empurre-o para o armazém de espelhos

Este artigo irá dizer-lhe como usar o docker para baixar um espelho da extremidade remota, modificá-lo e, finalmente, enviar o espelho para seu próprio armazém de espelhos.

1. Instale o Docker

Não há nada a dizer sobre isso, basta baixar o pacote de instalação correspondente e instalá-lo de acordo com seu próprio ambiente

docker官网下载地址 Home - Docker​​​​​​​ Saiba como o Atomist ajudará o Docker a enfrentar o desafio de proteger cadeias de suprimentos de software seguras para equipes de desenvolvimento. https://www.docker.com/

Observe que os Macs distinguem entre os chips e a versão correta deve ser baixada. Independentemente da versão Linux, Mac ou Windows do Docker, você pode usar o comando docker para operar na linha de comando. Acho que a linha de comando é mais concisa do que o programa de desktop, então os exemplos a seguir usam a linha de comando para operar.

2. Produção de imagem espelhada

Você pode optar por criar uma imagem espelhada do zero, mas não adianta reinventar a roda. Eu escolho baixar a imagem espelhada pronta do armazém de espelhos e adicionar minhas próprias necessidades para criar uma nova imagem espelhada.

2.1 Puxe a imagem do armazém de espelhos

Antes de usar o docker para executar operações pull e push, primeiro você precisa fazer login e fazer login na imagem correspondente

Conta de login: nome de usuário é o prefixo da caixa de correio, senha de login: a senha definida antes

docker login -u g*********n -p ********* iregistry.-int.com

Puxe a imagem do repositório espelho

# 从镜像仓库拉取镜像
docker pull iregistry.-int.com/ubuntu_android/ubuntu-android:1.0.1
# 查看本地镜像文件
docker images

 Como você pode ver, o espelho remoto foi puxado para o local 

2.2 Modifique e crie uma imagem espelhada

Primeiro, você precisa usar o comando tag para marcar a imagem de outra pessoa e tornar o repositório seu.

# 第一个参数是原有镜像的image id 第二个参数是新镜像的仓库地址:自定义版本号
docker tag af25f4ae69d6 iregistry.-int.com/test-oem/oem-android:0.1

 Neste ponto, clonei minha própria imagem com a imagem de outra pessoa e a próxima etapa é modificar a imagem, como adicionar o software de que preciso ou relacionado ao ambiente de compilação.

A primeira é iniciar e inserir a imagem, primeiro verifique a imagem local, execute a imagem através do comando docker run e, em seguida, insira a imagem para operação

docker run -it iregistry.-int.com/test-oem/oem-android:0.1 /bin/bash

Em seguida, crie uma pasta buildkit no diretório inicial. Observe que você não pode sair antes que a modificação seja enviada. Depois de sair, todas as operações serão encerradas. 

 Em seguida, você precisa enviar as alterações e abrir uma janela de linha de comando

# 产看当前运行的镜像
docker ps
CONTAINER ID   IMAGE                                                   COMMAND       CREATED          STATUS          PORTS     NAMES
172d77a8211f   iregistry.-int.com/test-oem/oem-android:0.1   "/bin/bash"   15 seconds ago   Up 15 seconds             frosty_maxwell
# 提交之前的修改 -m表示修改的内容  -a表示修改者  之后是容器ID,最后是仓库地址和版本
docker commit -m "test mkdir" -a "********" 172d77a8211f iregistry.-int.com/test-oem/oem-android:0.2
sha256:5f173bdf3f47f8a614129cfa4f43face370e68c37481f48aafe8254a6a71f41f
# 查看所有镜像,可以看到,多了一个镜像文件
docker images
REPOSITORY                                              TAG       IMAGE ID       CREATED          SIZE
iregistry.-int.com/test-oem/oem-android       0.2       5f173bdf3f47   11 seconds ago   1.19GB
iregistry.-int.com/ubuntu_android/ubuntu-android   1.0.1     af25f4ae69d6   9 months ago     1.19GB
iregistry.-int.com/test-oem/oem-android       0.1       af25f4ae69d6   9 months ago     1.19GB

Em seguida, insira a nova visualização de imagem na janela anterior e você poderá ver que as operações anteriores são mantidas

# 启动0.2版本的镜像
docker run -it iregistry.-int.com/test-oem/oem-android:0.2 /bin/bash                                  
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
root@cd8ca67f4e45:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@cd8ca67f4e45:/# cd home
root@cd8ca67f4e45:/home# ls
buildkit  work

Claro, criar uma pasta é apenas um exemplo, você também pode fazer outras coisas, como baixar o ambiente de compilação do Android relacionado

O principal objetivo de usar nohup é não bloquear a execução de outros comandos. Depois de executar o comando, pressione Enter para sair. Você pode fazer outras coisas, o que é muito útil.

# wget下载jdk1.8.141
nohup wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz" &

# gradle 下载官网  https://gradle.org/releases/
nohup wget https://downloads.gradle-dn.com/distributions/gradle-6.7.1-all.zip &

# Android buildtools下载官网 https://androidsdkmanager.azurewebsites.net/Buildtools
nohup wget https://dl.google.com/android/repository/build-tools_r23.0.3-linux.zip &

# ndk下载官网
# https://developer.android.google.cn/ndk/downloads/
# https://github.com/android/ndk/wiki/Unsupported-Downloads
nohup wget https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip &

2.3 Envie a imagem para o warehouse

Depois que a modificação e o envio da imagem local forem concluídos, você poderá enviar a imagem que criou para o depósito de imagens, basta usar o docker push

docker push iregistry.-int.com/test-oem/oem-android:0.1

 

Em seguida, vá para o armazém remoto para verificar e você poderá ver sua imagem espelhada 

algumas habilidades

1. Transfira o arquivo local para a imagem do docker

 2. Algumas operações do docker

1. 删除容器
docker ps #查看正在运行的容器
docker ps -a #查看所有容器
docker rm container_id #删除容器

2. 删除镜像
docker images //查看镜像
docker rmi image_id

As palavras-código originais não são fáceis, se for útil para você, dê um joinha!

Acho que você gosta

Origin blog.csdn.net/guo_zhen_qian/article/details/126956290
Recomendado
Clasificación