From 17db9d6272cdd1497911138097d4c245566fefbb Mon Sep 17 00:00:00 2001 From: Eric Kidd Date: Sun, 28 Apr 2019 13:37:21 -0400 Subject: [PATCH] Update README for new images --- README.md | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 5135e9a..caccd72 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,9 @@ [![Docker Image](https://img.shields.io/docker/pulls/ekidd/rust-musl-builder.svg?maxAge=2592000)](https://hub.docker.com/r/ekidd/rust-musl-builder/) +**NOTE:** The underlying build image is now running Ubuntu 18.04 and newer +versions of several libraries. Please report any problems! + Do you want to compile a completely static Rust binary with no external dependencies? If so, try: ```sh @@ -11,13 +14,7 @@ rust-musl-builder cargo build --release This command assumes that `$(pwd)` is readable and writable by uid 1000, gid 1000. At the moment, it doesn't attempt to cache libraries between builds, so this is best reserved for making final release builds. -To target ARM hard float (Raspberry Pi): - -```sh -rust-musl-builder cargo build --target=armv7-unknown-linux-musleabihf --release -``` - -Binaries will be written to `target/$TARGET_ARCHITECTURE/release`. By default it targets `x86_64-unknown-linux-musl` unless specified with `--target`. +For a more realistic example, see the `Dockerfile` for [examples/using-diesel](./examples/using-diesel). ## Deploying your Rust application @@ -30,6 +27,7 @@ In general, we provide the following tagged Docker images: - `latest`, `stable`: Current stable Rust, with OpenSSL 1.0 (for now). We try to update this fairly rapidly after every new stable release, and after most point releases. +- `X.Y.Z`: Specific versions of stable Rust. - `beta`: This usually gets updated every six weeks alongside the stable release. It will usually not be updated for beta bugfix releases. - `nightly-YYYY-MM-DD`: Specific nightly releases. These should almost @@ -38,7 +36,8 @@ In general, we provide the following tagged Docker images: compatibility with `tokio` or another popular library using unstable Rust, please file an issue. - `stable-openssl11`: Current stable Rust, with OpenSSL 1.1. -- `nightly-YYYY-MM-DD-openssl11`: Specific nightly releases with OpenSSL +- `X.Y.Z-openssl11`: Specific versions of stable Rust, with OpenSSL 1.1. +- `nightly-YYYY-MM-DD-openssl11`: Specific nightly releases, with OpenSSL 1.1. At a minimum, each of these images should be able to @@ -186,6 +185,18 @@ If you're using Docker crates which require specific C libraries to be installed If you need an especially common library, please feel free to submit a pull request adding it to the main `Dockerfile`! We'd like to support popular Rust crates out of the box. +## ARM support (experimental) + +To target ARM hard float (Raspberry Pi): + +```sh +rust-musl-builder cargo build --target=armv7-unknown-linux-musleabihf --release +``` + +Binaries will be written to `target/$TARGET_ARCHITECTURE/release`. By default it targets `x86_64-unknown-linux-musl` unless specified with `--target`. + +This is missing many of the libraries used by the `x86_64` build, and it should probably be split out of the base image and given its own tags. + ## Development notes After modifying the image, run `./test-image` to make sure that everything works.xs