Skip to content

Commit 666e863

Browse files
committed
chore: usage and code example
1 parent dd8c981 commit 666e863

File tree

3 files changed

+32
-18
lines changed

3 files changed

+32
-18
lines changed

Makefile

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,3 @@
1-
run:
2-
docker run --rm \
3-
-v "${PWD}/sample":/home/rust/sample \
4-
-w /home/rust/sample \
5-
rust-linux-darwin-builder:latest \
6-
cargo build --release --target x86_64-unknown-linux-musl && \
7-
/home/rust/sample/target/x86_64-unknown-linux-musl/release/helloworld
8-
.PHONY: run
9-
101
build:
11-
docker build -t rust-linux-darwin-builder:latest -f Dockerfile .
2+
docker build -t joseluisq/rust-linux-darwin-builder:1.40.0 -f Dockerfile .
123
.PHONY: build

README.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Rust Linux / Darwin Builder
1+
# Rust Linux / Darwin Builder [![Docker Image](https://img.shields.io/docker/pulls/joseluisq/rust-linux-darwin-builder.svg)](https://hub.docker.com/r/joseluisq/rust-linux-darwin-builder/)
22

3-
> A Docker image for compiling [Rust](https://www.rust-lang.org/) binaries for __Linux__ (static binaries via [musl-libc / musl-gcc](https://doc.rust-lang.org/edition-guide/rust-2018/platform-and-target-support/musl-support-for-fully-static-binaries.html)) and __macOS__ (via [osxcross](https://github.com/tpoechtrager/osxcross)).
3+
> Use same Docker image for compiling [Rust](https://www.rust-lang.org/) programs for Linux ([musl libc](https://doc.rust-lang.org/edition-guide/rust-2018/platform-and-target-support/musl-support-for-fully-static-binaries.html)) & macOS ([osxcross](https://github.com/tpoechtrager/osxcross)).
44
55
## Overview
66

@@ -14,22 +14,26 @@ __x86_64-unknown-linux-musl__
1414

1515
```sh
1616
docker run --rm \
17-
-v "$PWD/sample":/home/rust/sample \
18-
-w /home/rust/sample \
17+
--user rust:rust \
18+
--volume "${PWD}/sample":/home/rust/sample \
19+
--workdir /home/rust/sample \
1920
joseluisq/rust-linux-darwin-builder:1.40.0 \
20-
cargo build --release --target x86_64-unknown-linux-musl
21+
sh -c "cargo build --release"
2122
```
2223

2324
__x86_64-apple-darwin__
2425

2526
```sh
2627
docker run --rm \
27-
-v "$PWD/sample":/home/rust/sample \
28-
-w /home/rust/sample \
28+
--user rust:rust \
29+
--volume "${PWD}/sample":/home/rust/sample \
30+
--workdir /home/rust/sample \
2931
joseluisq/rust-linux-darwin-builder:1.40.0 \
30-
cargo build --release --target x86_64-apple-darwin
32+
sh -c "cargo build --release --target x86_64-apple-darwin"
3133
```
3234

35+
*__Note:__ This example is also available under [./sample](./sample) directory.*
36+
3337
### Dockerfile
3438

3539
You can also use the image as a base for your own Dockerfile:

sample/Makefile

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
linux:
2+
@docker run --rm \
3+
--name rust_builder_linux \
4+
--user rust:rust \
5+
--volume "${PWD}/sample":/home/rust/sample \
6+
--workdir /home/rust/sample \
7+
joseluisq/rust-linux-darwin-builder:1.40.0 \
8+
sh -c "cargo build --release"
9+
.PHONY: linux
10+
11+
darwin:
12+
@docker run --rm \
13+
--name rust_builder_darwin \
14+
--user rust:rust \
15+
--volume "${PWD}/sample":/home/rust/sample \
16+
--workdir /home/rust/sample \
17+
joseluisq/rust-linux-darwin-builder:1.40.0 \
18+
sh -c "cargo build --release --target x86_64-apple-darwin"
19+
.PHONY: darwin

0 commit comments

Comments
 (0)