You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Next, we need to take these two images, and merge them into one so that both architectures are available without having to push separate images. You need to obtain the SHA256 hash digest for the `amd64` and `arm64` images. You can go to the registry where you uploaded the images and then copy them. Or you can run the commands specified below depending on which release type you want:
923
+
Next, we need to take these two images, and merge them into one so that both architectures are available without having to push separate images. You need to obtain the `SHA256` hash digest for the `amd64` and `arm64` images. You can go to the registry where you uploaded the images and then copy them. Or you can run the commands specified below depending on which release type you want:
918
924
919
925
<br />
920
926
<br />
@@ -994,11 +1000,8 @@ If you opted to build both the **stable** and **development** releases; you shou
At this point, you should have all of your images created for amd64 and arm64, however, each image sits by itself. If you want to merge both architectures into a single image; you must manipulate the manifest to merge them. The next section will explain how to do so.
1018
+
1019
+
There are two ways to do this; you can pick either one:
Once you have the correct `SHA256` hash digests; paste them into the command below. This command is where you can specify the real `--tag` that the public image will have. The previous tags were simply placeholders and no longer matter.
1027
+
##### Using `Buildx Imagetools`
1028
+
1029
+
This section explains how you to take your individual images, and merge them so that you end up with a single image with both arcitectures.
1030
+
1031
+
Once you have all of your images list of `SHA256` hash digests; paste them into the command below. This command is where you can specify the real `--tag` that the public image will have. The previous tags were simply placeholders and no longer matter.
> Compared to the **stable** release which has 4 tags; the **development** release only has one tag.
1090
+
> Compared to the **stable** release which has 4 tags; the **development** release only has 1 tag.
1075
1091
1076
1092
<br />
1077
1093
@@ -1083,38 +1099,161 @@ The command above will output the following image:
1083
1099
1084
1100
The image above will give you **one image**, since we only specified one `--tag`, and it will list both arcitectures for each image.
1085
1101
1102
+
Alternatively, you could use the [🗔 manifest create](#using-manifest-create) command
1103
+
1086
1104
<br />
1105
+
<br />
1106
+
1107
+
##### Using `Manifest Create`
1108
+
1109
+
This section explains how you to take your individual images, and merge them so that you end up with a single image with both arcitectures.
1087
1110
1088
-
Alternatively, you could use the `🗔 manifest create` command; as an example, you can merge multiple architecture images together into a single image. The top line with `🔖 aetherinox/ubuntu:latest` can be any name. However, all images after `--amend` MUST be already existing images uploaded to the registry.
1111
+
As an example, you can merge multiple architecture images together into a single image. The top line with `🔖 aetherinox/ubuntu:noble` can be any name. However, all images after `--amend` MUST be already existing images uploaded to the registry.
In this example, we take the existing two files we created earlier, and merge them into one. You can either specify the image by `SHA256 digest`, or tag:
If you look at your docker registry, you should see:
1186
+
1187
+
<p align="center"><img style="width: 80%;text-align: center;" src="docs/img/core/07.png"><br><sub><sup><b>Registry v2:</b> merged <code>amd64</code> and <code>arm64</code> for <code>Development</code> release; using <code>docker manifest create</code></sup></sub></p>
1188
+
1189
+
<br />
1190
+
1191
+
> [!NOTE]
1192
+
> If you push the manifest to your online registry, and notice that the image contains multiple of the same architecture images; you need to remove the manifest and re-create it using:
If you go back to your registry; you should now see multiple new entries, all with different tags. Two of the images are your old `amd64` and `arm64` images, and then you should have your official one with the four tags specified above. You can delete the two original images if you do not want them.
@@ -1126,7 +1265,7 @@ If you go back to your registry; you should now see multiple new entries, all wi
1126
1265
1127
1266
If you are pushing to Github's GHCR; the interface will look different, as Github merges all tags into a single listing, instead of Registry v2 listing each tag on its own:
1128
1267
1129
-
<p align="center"><img style="width: 80%;text-align: center;" src="docs/img/core/06.png"><br><sub><sup><b>Registry v2:</b> Newly created <code>amd64</code> and <code>arm64</code> images, and merged containers with both architectures</sup></sub></p>
1268
+
<p align="center"><img style="width: 80%;text-align: center;" src="docs/img/core/10.png"><br><sub><sup><b>Registry v2:</b> Newly created <code>amd64</code> and <code>arm64</code> images, and merged containers with both architectures</sup></sub></p>
0 commit comments