Skip to content

Commit 459ce2f

Browse files
authored
Merge pull request #4353 from deitch/alpine-build-docs
document how to build under alpine
2 parents 3778ae6 + 6fc2733 commit 459ce2f

File tree

1 file changed

+32
-4
lines changed

1 file changed

+32
-4
lines changed

README.md

+32-4
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,41 @@ A third party security audit was performed by Cure53, you can see the full repor
2929

3030
`runc` only supports Linux. It must be built with Go version 1.21 or higher.
3131

32+
### Pre-Requisites
33+
34+
#### Go
35+
3236
NOTE: if building with Go 1.22.x, make sure to use 1.22.4 or a later version
3337
(see [issue #4233](https://github.com/opencontainers/runc/issues/4233) for
3438
more details).
3539

36-
In order to enable seccomp support you will need to install `libseccomp` on your platform.
37-
> e.g. `libseccomp-devel` for CentOS, or `libseccomp-dev` for Ubuntu
40+
#### Utilities and Libraries
41+
42+
In addition to Go, building `runc` requires multiple utilities and libraries to be installed on your system.
43+
44+
On Ubuntu/Debian, you can install the required dependencies with:
45+
46+
```bash
47+
apt update && apt install -y make gcc linux-libc-dev libseccomp-dev pkg-config git
48+
```
49+
50+
On CentOS/Fedora, you can install the required dependencies with:
51+
52+
```bash
53+
yum install -y make gcc kernel-headers libseccomp-devel pkg-config git
54+
```
55+
56+
On Alpine Linux, you can install the required dependencies with:
57+
58+
```bash
59+
apk --update add bash make gcc libseccomp-dev musl-dev linux-headers git
60+
```
61+
62+
The following dependencies are optional:
63+
64+
* `libseccomp` - only required if you enable seccomp support; to disable, see [Build Tags](#build-tags)
65+
66+
### Build
3867

3968
```bash
4069
# create a 'github.com/opencontainers' in your GOPATH/src
@@ -57,7 +86,6 @@ sudo make install
5786

5887
`runc` will be installed to `/usr/local/sbin/runc` on your system.
5988

60-
6189
#### Build Tags
6290

6391
`runc` supports optional build tags for compiling support of various features,
@@ -118,7 +146,7 @@ You can run a test using your container engine's flags by setting `CONTAINER_ENG
118146
# make test CONTAINER_ENGINE_BUILD_FLAGS="--build-arg http_proxy=http://yourproxy/" CONTAINER_ENGINE_RUN_FLAGS="-e http_proxy=http://yourproxy/"
119147
```
120148

121-
### Dependencies Management
149+
### Go Dependencies Management
122150

123151
`runc` uses [Go Modules](https://github.com/golang/go/wiki/Modules) for dependencies management.
124152
Please refer to [Go Modules](https://github.com/golang/go/wiki/Modules) for how to add or update

0 commit comments

Comments
 (0)