mirror of
https://github.com/apple/container.git
synced 2026-11-07 22:43:19 +00:00
Update alpine images used (#1)
Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
This commit is contained in:
10 files changed
+50
-50
No files matched your search
@@ -25,7 +25,7 @@ jobs:
|
||||
run: |
|
||||
/usr/bin/swift package update containerization
|
||||
env:
|
||||
CONTAINERIZATION_REPO: https://${{ secrets.REPO_READ }}@github.com/apple-uat/containerization.git
|
||||
CONTAINERIZATION_REPO: https://${{ secrets.REPO_READ }}@github.com/apple/containerization.git
|
||||
- name: Check formatting
|
||||
run: |
|
||||
./scripts/install-hawkeye.sh
|
||||
@@ -33,14 +33,14 @@ jobs:
|
||||
if ! git diff -- . ':(exclude)Package.swift' ':(exclude)Package.resolved'; then echo the following files require formatting or license headers: ; git diff --name-only ; false ; fi
|
||||
- name: Check protobuf
|
||||
run: |
|
||||
make BUILDER_SHIM_REPO=https://${{ secrets.REPO_READ }}@github.com/apple-uat/container-builder-shim.git protos
|
||||
make BUILDER_SHIM_REPO=https://${{ secrets.REPO_READ }}@github.com/apple/container-builder-shim.git protos
|
||||
|
||||
# TODO [launch]: TEMPORARILY we need to exclude these files since we had to modify them to add
|
||||
# the github token for pulling the private repos.
|
||||
if ! git diff -- . ':(exclude)Package.swift' ':(exclude)Package.resolved' ':(exclude)Protobuf.Makefile'; then echo the following files require formatting or license headers: ; git diff --name-only ; false ; fi
|
||||
env:
|
||||
CURRENT_SDK: y
|
||||
CONTAINERIZATION_REPO: https://${{ secrets.REPO_READ }}@github.com/apple-uat/containerization.git
|
||||
CONTAINERIZATION_REPO: https://${{ secrets.REPO_READ }}@github.com/apple/containerization.git
|
||||
- name: Set build configuration
|
||||
run: |
|
||||
echo "BUILD_CONFIGURATION=debug" >> $GITHUB_ENV
|
||||
@@ -53,7 +53,7 @@ jobs:
|
||||
env:
|
||||
DEVELOPER_DIR: "/Applications/Xcode_16.3.app/Contents/Developer"
|
||||
CURRENT_SDK: y
|
||||
CONTAINERIZATION_REPO: https://${{ secrets.REPO_READ }}@github.com/apple-uat/containerization.git
|
||||
CONTAINERIZATION_REPO: https://${{ secrets.REPO_READ }}@github.com/apple/containerization.git
|
||||
- name: Create package
|
||||
run: |
|
||||
mkdir -p outputs
|
||||
@@ -69,7 +69,7 @@ jobs:
|
||||
CONTAINER_REGISTRY_HOST: ghcr.io
|
||||
DEVELOPER_DIR: "/Applications/Xcode_16.3.app/Contents/Developer"
|
||||
CURRENT_SDK: y
|
||||
CONTAINERIZATION_REPO: https://${{ secrets.REPO_READ }}@github.com/apple-uat/containerization.git
|
||||
CONTAINERIZATION_REPO: https://${{ secrets.REPO_READ }}@github.com/apple/containerization.git
|
||||
- name: Save artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
|
||||
+2
-2
@@ -26,11 +26,11 @@ if let path = ProcessInfo.processInfo.environment["CONTAINERIZATION_PATH"] {
|
||||
scDependency = .package(path: path)
|
||||
scVersion = "latest"
|
||||
} else {
|
||||
scVersion = "0.1.34"
|
||||
scVersion = "0.0.2"
|
||||
if let containerizationRepo = ProcessInfo.processInfo.environment["CONTAINERIZATION_REPO"], containerizationRepo != "" {
|
||||
scDependency = .package(url: containerizationRepo, exact: Version(stringLiteral: scVersion))
|
||||
} else {
|
||||
scDependency = .package(url: "https://github.com/apple-uat/containerization.git", exact: Version(stringLiteral: scVersion))
|
||||
scDependency = .package(url: "https://github.com/apple/containerization.git", exact: Version(stringLiteral: scVersion))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ ROOT_DIR := $(shell git rev-parse --show-toplevel)
|
||||
LOCAL_DIR := $(ROOT_DIR)/.local
|
||||
LOCALBIN := $(LOCAL_DIR)/bin
|
||||
|
||||
BUILDER_SHIM_REPO ?= https://github.com/apple-uat/container-builder-shim.git
|
||||
BUILDER_SHIM_REPO ?= https://github.com/apple/container-builder-shim.git
|
||||
## Versions
|
||||
PROTOC_VERSION=26.1
|
||||
|
||||
|
||||
@@ -23,11 +23,11 @@ To build the Containerization package, your system needs either:
|
||||
|
||||
`container` is designed to take advantage of the features of the macOS 16 Developer Preview. You can run the application on macOS Sequoia, but the `container` maintainers typically will not address Sequoia issues that cannot be reproduced on the macOS 16 Developer Beta.
|
||||
|
||||
There are [significant networking limitations](https://github.com/apple-uat/container#macos-sequoia-limitations) that impact the usability `container` on macOS Sequoia.
|
||||
There are [significant networking limitations](https://github.com/apple/container#macos-sequoia-limitations) that impact the usability `container` on macOS Sequoia.
|
||||
|
||||
### Install and run
|
||||
|
||||
Download the latest application installer package from the [Github release page](https://github.com/apple-uat/container/releases).
|
||||
Download the latest application installer package from the [Github release page](https://github.com/apple/container/releases).
|
||||
|
||||
To install the application, double click the installer package and follow the instructions. Enter your administrator password when prompted to give the installer permission to place the application under `/usr/local`.
|
||||
|
||||
@@ -72,7 +72,7 @@ Missing required runtime dependencies:
|
||||
2. Kernel
|
||||
Would like to install them now? [Y/n]: Y
|
||||
Installing default kernel from [https://github.com/kata-containers/kata-containers/releases/download/3.17.0/kata-static-3.17.0-arm64.tar.xz]...
|
||||
Installing initial filesystem from [ghcr.io/apple-uat/containerization/vminit:0.1.34]...
|
||||
Installing initial filesystem from [ghcr.io/apple/containerization/vminit:0.1.34]...
|
||||
%
|
||||
```
|
||||
|
||||
@@ -167,7 +167,7 @@ cd web-test
|
||||
Download an image file for your web server can use (TODO: substitute the container logo):
|
||||
|
||||
```bash
|
||||
curl -L -o logo.jpg https://github.com/apple-uat/container/tree/main/docs/assets/logo.jpg
|
||||
curl -L -o logo.jpg https://github.com/apple/container/tree/main/docs/assets/logo.jpg
|
||||
```
|
||||
|
||||
In the `web-test` directory, create a file named `Dockerfile` with this content:
|
||||
@@ -231,7 +231,7 @@ When you list containers now, `my-web-server` is present, along with the contain
|
||||
```shellsession
|
||||
% container ls
|
||||
ID IMAGE OS ARCH STATE ADDR
|
||||
buildkit ghcr.io/apple-uat/container-builder-shim/builder:2.1.1 linux arm64 running 192.168.64.2
|
||||
buildkit ghcr.io/apple/container-builder-shim/builder:2.1.1 linux arm64 running 192.168.64.2
|
||||
my-web-server web-test:latest linux arm64 running 192.168.64.3
|
||||
%
|
||||
```
|
||||
@@ -343,7 +343,7 @@ If you list all running and stopped containers, you will see that the `--rm` fla
|
||||
```bash
|
||||
% container ls --all
|
||||
ID IMAGE OS ARCH STATE ADDR
|
||||
buildkit ghcr.io/apple-uat/container-builder-shim/builder:2.1.1 linux arm64 running 192.168.64.2
|
||||
buildkit ghcr.io/apple/container-builder-shim/builder:2.1.1 linux arm64 running 192.168.64.2
|
||||
%
|
||||
```
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ extension ClientDefaults.Keys {
|
||||
case .defaultKernelBinaryPath:
|
||||
return "opt/kata/share/kata-containers/vmlinux-6.12.28-153"
|
||||
case .defaultBuilderImage:
|
||||
return "ghcr.io/apple-uat/container-builder-shim/builder:2.1.3"
|
||||
return "ghcr.io/apple/container-builder-shim/builder:0.0.3"
|
||||
case .defaultDNSDomain:
|
||||
return "test"
|
||||
case .defaultRegistryDomain:
|
||||
@@ -73,7 +73,7 @@ extension ClientDefaults.Keys {
|
||||
guard tag != "latest" else {
|
||||
return "vminit:latest"
|
||||
}
|
||||
return "ghcr.io/apple-uat/containerization/vminit:\(tag)"
|
||||
return "ghcr.io/apple/containerization/vminit:\(tag)"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -95,7 +95,7 @@ extension TestCLIBuildBase {
|
||||
let tempDir: URL = try createTempDir()
|
||||
let dockerfile: String =
|
||||
"""
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
|
||||
ADD . .
|
||||
|
||||
@@ -108,7 +108,7 @@ extension TestCLIBuildBase {
|
||||
.file("emptyFile", content: .zeroFilled(size: 1)),
|
||||
]
|
||||
try createContext(tempDir: tempDir, dockerfile: dockerfile, context: context)
|
||||
let imageName = "regitry.local/add-all:\(UUID().uuidString)"
|
||||
let imageName: String = "regitry.local/add-all:\(UUID().uuidString)"
|
||||
try self.build(tag: imageName, tempDir: tempDir)
|
||||
#expect(try self.inspectImage(imageName) == imageName, "expected to have successfully built \(imageName)")
|
||||
}
|
||||
@@ -117,7 +117,7 @@ extension TestCLIBuildBase {
|
||||
let tempDir: URL = try createTempDir()
|
||||
let dockerfile: String =
|
||||
"""
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
ARG ADDRESS
|
||||
RUN nc -zv ${ADDRESS%:*} ${ADDRESS##*:} || exit 1
|
||||
"""
|
||||
@@ -138,84 +138,84 @@ extension TestCLIBuildBase {
|
||||
let dockerfile =
|
||||
"""
|
||||
# stage 1 Meta ARG
|
||||
ARG TAG=3.21
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:${TAG}
|
||||
ARG TAG=3.20
|
||||
FROM ghcr.io/linuxcontainers/alpine:${TAG}
|
||||
|
||||
# stage 2 RUN
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
RUN echo "Hello, World!" > /hello.txt
|
||||
|
||||
# stage 3 - RUN []
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
RUN ["sh", "-c", "echo 'Exec form' > /exec.txt"]
|
||||
|
||||
# stage 4 - CMD
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
CMD ["echo", "Exec default"]
|
||||
|
||||
# stage 5 - CMD []
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
CMD ["echo", "Exec'ing"]
|
||||
|
||||
#stage 6 - LABEL
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
LABEL version="1.0" description="Test image"
|
||||
|
||||
# stage 7 - EXPOSE
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
EXPOSE 8080
|
||||
|
||||
# stage 8 - ENV
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
ENV MY_ENV=hello
|
||||
RUN echo $MY_ENV > /env.txt
|
||||
|
||||
# stage 9 - ADD
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
ADD emptyFile /
|
||||
|
||||
# stage 10 - COPY
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
COPY toCopy /toCopy
|
||||
|
||||
# stage 11 - ENTRYPOINT
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
ENTRYPOINT ["echo", "entrypoint!"]
|
||||
|
||||
# stage 12 - VOLUME
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
VOLUME /data
|
||||
|
||||
# stage 13 - USER
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
RUN adduser -D myuser
|
||||
USER myuser
|
||||
CMD whoami
|
||||
|
||||
# stage 14 - WORKDIR
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
WORKDIR /app
|
||||
RUN pwd > /pwd.out
|
||||
|
||||
# stage 15 - ARG
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
ARG MY_VAR=default
|
||||
RUN echo $MY_VAR > /var.out
|
||||
|
||||
# stage 16 - ONBUILD
|
||||
# FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
# FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
# ONBUILD RUN echo "onbuild triggered" > /onbuild.out
|
||||
|
||||
# stage 17 - STOPSIGNAL
|
||||
# FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
# FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
# STOPSIGNAL SIGTERM
|
||||
|
||||
# stage 18 - HEALTHCHECK
|
||||
# FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
# FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
# HEALTHCHECK CMD echo "healthy" || exit 1
|
||||
|
||||
# stage 19 - SHELL
|
||||
# FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
# FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
# SHELL ["/bin/sh", "-c"]
|
||||
# RUN echo $0 > /shell.txt
|
||||
"""
|
||||
@@ -236,7 +236,7 @@ extension TestCLIBuildBase {
|
||||
let dockerfile: String =
|
||||
"""
|
||||
# Test 1: Test basic symlinking
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
|
||||
ADD Test1Source Test1Source
|
||||
ADD Test1Source2 Test1Source2
|
||||
@@ -244,7 +244,7 @@ extension TestCLIBuildBase {
|
||||
RUN cat Test1Source2/test.yaml
|
||||
|
||||
# Test2: Test symlinks in nested directories
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
|
||||
ADD Test2Source Test2Source
|
||||
ADD Test2Source2 Test2Source2
|
||||
@@ -252,7 +252,7 @@ extension TestCLIBuildBase {
|
||||
RUN cat Test2Source2/Test/test.txt
|
||||
|
||||
# Test 3: Test symlinks to directories work
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
|
||||
ADD Test3Source Test3Source
|
||||
ADD Test3Source2 Test3Source2
|
||||
@@ -293,7 +293,7 @@ extension TestCLIBuildBase {
|
||||
let tempDir: URL = try createTempDir()
|
||||
let dockerfile: String =
|
||||
"""
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
RUN echo "foobar" > /file
|
||||
"""
|
||||
let context: [FileSystemEntry] = []
|
||||
@@ -318,7 +318,7 @@ extension TestCLIBuildBase {
|
||||
let dockerfileCtxDir: URL = try createTempDir()
|
||||
let dockerfile: String =
|
||||
"""
|
||||
FROM ghcr.io/apple-uat/test-images/alpine:3.21
|
||||
FROM ghcr.io/linuxcontainers/alpine:3.20
|
||||
|
||||
RUN ls ./
|
||||
COPY . /root
|
||||
|
||||
@@ -24,7 +24,7 @@ extension TestCLIRunBase {
|
||||
// This test class is NOT thread safe
|
||||
class TestCLITermIO: TestCLIRunBase, @unchecked Sendable {
|
||||
override var ContainerImage: String {
|
||||
"ghcr.io/apple-uat/test-images/alpine:3.21"
|
||||
"ghcr.io/linuxcontainers/alpine:3.20"
|
||||
}
|
||||
|
||||
override var Interactive: Bool {
|
||||
|
||||
@@ -211,7 +211,7 @@ extension TestCLIImagesCommand {
|
||||
@Test func testImageDefaultRegistry() throws {
|
||||
do {
|
||||
let defaultDomain = "ghcr.io"
|
||||
let imageName = "apple-uat/test-images/alpine:3.21"
|
||||
let imageName = "ghcr.io/linuxcontainers/alpine:3.20"
|
||||
defer {
|
||||
try? doDefaultRegistrySet(domain: "docker.io")
|
||||
}
|
||||
|
||||
@@ -35,8 +35,8 @@ class CLITest {
|
||||
return tempDir
|
||||
}
|
||||
|
||||
let alpine = "ghcr.io/apple-uat/test-images/alpine:3.21"
|
||||
let busybox = "ghcr.io/apple-uat/test-images/busybox:1.37"
|
||||
let alpine = "ghcr.io/linuxcontainers/alpine:3.20"
|
||||
let busybox = "ghcr.io/containerd/busybox:1.36"
|
||||
|
||||
let defaultContainerArgs = ["sleep", "infinity"]
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Develop using a local copy of Containerization
|
||||
|
||||
This page describes how to build and run container using a local copy of [`Containerization`](https://github.com/apple-uat/containerization).
|
||||
This page describes how to build and run container using a local copy of [`Containerization`](https://github.com/apple/containerization).
|
||||
|
||||
## Use the local copy of containerization
|
||||
|
||||
1. Clone the [Containerization](https://github.com/apple-uat/containerization) repository such that it sits next to your clone of the `container` repository.
|
||||
1. Clone the [Containerization](https://github.com/apple/containerization) repository such that it sits next to your clone of the `container` repository.
|
||||
|
||||
2. In your development shell, go to the `container` project directory.
|
||||
|
||||
|
||||
Reference in new issue
Block a user