Utilisez Docker pour créer un miroir et poussez-le vers l'entrepôt de miroirs

Cet article vous expliquera comment utiliser Docker pour télécharger un miroir depuis l'extrémité distante, puis modifier le miroir et enfin pousser le miroir vers votre propre entrepôt de miroirs.

1. Installez Docker

Il n'y a rien à dire à ce sujet, il suffit de télécharger le package d'installation correspondant et de l'installer en fonction de votre propre environnement

docker官网下载地址 Accueil - Docker​​​​​​ Découvrez comment Atomist aidera Docker à relever le défi de la sécurisation des chaînes d'approvisionnement logicielles sécurisées pour les équipes de développement. https://www.docker.com/

Notez que les Mac font la distinction entre les puces et que la version correcte doit être téléchargée. Quelle que soit la version Linux, Mac ou Windows de Docker, vous pouvez utiliser la commande docker pour opérer sur la ligne de commande. Je pense que la ligne de commande est plus concise que le programme de bureau, donc les exemples suivants utilisent la ligne de commande pour fonctionner.

2. Production d'images miroir

Vous pouvez choisir de créer une image miroir à partir de zéro, mais il ne sert à rien de réinventer la roue. Je choisis de télécharger l'image miroir prête à l'emploi à partir de l'entrepôt de miroirs et d'ajouter mes propres besoins pour créer une nouvelle image miroir.

2.1 Extraire l'image de l'entrepôt de miroirs

Avant d'utiliser docker pour effectuer des opérations pull et push, vous devez d'abord vous connecter et vous devez vous connecter à l'image correspondante

Compte de connexion : nom d'utilisateur est le préfixe de la boîte aux lettres, mot de passe de connexion : le mot de passe défini avant

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

Extraire l'image du référentiel miroir

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

 Comme vous pouvez le voir, le miroir distant a été tiré vers le local 

2.2 Modifier et créer une image miroir

Tout d'abord, vous devez utiliser la commande tag pour marquer l'image de quelqu'un d'autre et vous approprier le référentiel.

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

 À ce stade, j'ai cloné ma propre image avec l'image de quelqu'un d'autre, et l'étape suivante consiste à modifier l'image, par exemple en ajoutant le logiciel dont j'ai besoin ou en rapport avec l'environnement de compilation.

La première consiste à démarrer et à saisir l'image, à vérifier d'abord l'image locale, à exécuter l'image via la commande docker run, puis à saisir l'image pour l'opération

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

Créez ensuite un dossier buildkit dans le répertoire de base. Notez que vous ne pouvez pas quitter avant que la modification ne soit soumise. Une fois que vous quittez, toutes les opérations sont terminées. 

 Ensuite, vous devez soumettre les modifications et vous devez ouvrir une fenêtre de ligne de commande

# 产看当前运行的镜像
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

Entrez ensuite la nouvelle vue d'image dans la fenêtre précédente, et vous pouvez voir que les opérations précédentes sont conservées

# 启动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

Bien sûr, la création d'un dossier n'est qu'un exemple, vous pouvez également faire d'autres choses, comme télécharger l'environnement de compilation Android lié

Le but principal de l'utilisation de nohup est de ne pas vous empêcher d'exécuter d'autres commandes. Après avoir exécuté la commande, appuyez sur Entrée pour quitter. Vous pouvez faire d'autres choses, ce qui est très utile.

# 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 Pousser l'image vers l'entrepôt

Une fois la modification et la soumission de l'image locale terminées, vous pouvez soumettre l'image que vous avez créée à l'entrepôt d'images, utilisez simplement docker push

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

 

Ensuite, allez à l'entrepôt distant pour vérifier, et vous pourrez voir votre image miroir 

certaines compétences

1. Transférez le fichier local vers l'image docker

 2. Quelques opérations de docker

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

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

Les mots de passe originaux ne sont pas faciles, s'ils vous sont utiles, merci de leur donner un coup de pouce !

Je suppose que tu aimes

Origine blog.csdn.net/guo_zhen_qian/article/details/126956290
conseillé
Classement