Browse Source

Add documentation for the rust image

Steven Fackler 8 years ago
parent
commit
a11c341c57
6 changed files with 45 additions and 0 deletions
  1. 1 0
      rust/README-short.txt
  2. 41 0
      rust/content.md
  3. 1 0
      rust/github-repo
  4. 1 0
      rust/license.md
  5. BIN
      rust/logo.png
  6. 1 0
      rust/maintainer.md

+ 1 - 0
rust/README-short.txt

@@ -0,0 +1 @@
+Rust is a systems programming language focused on safety, speed, and concurrency.

+ 41 - 0
rust/content.md

@@ -0,0 +1,41 @@
+# What is Rust?
+
+Rust is a systems programming language sponsored by Mozilla Research. It is designed to be a "safe, concurrent, practical language", supporting functional and imperative-procedural paradigms. Rust is syntactically similar to C++, but is designed for better memory safety while maintaining performance.
+
+> [wikipedia.org/wiki/Rust_(programming_language)](https://en.wikipedia.org/wiki/Rust_%28programming_language%29)
+
+%%LOGO%%
+
+# How to use this image
+
+## Start a Rust instance running your app
+
+The most straightforward way to use this image is to use a Rust container as both the build and runtime environment. In your `Dockerfile`, writing something along the lines of the following will compile and run your project:
+
+```dockerfile
+FROM %%IMAGE%%:1.19.0
+
+WORKDIR /usr/src/myapp
+COPY . .
+
+RUN cargo install
+
+CMD ["myapp"]
+```
+
+Then, build and run the Docker image:
+
+```console
+$ docker build -t my-rust-app .
+$ docker run -it --rm --name my-running-app my-rust-app
+```
+
+## Compile your app inside the Docker container
+
+There may be occasions where it is not appropriate to run your app inside a container. To compiler, but not run your app inside the Docker instance, you can write something like:
+
+```console
+$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp %%IMAGE%%:1.19.0 cargo build --release
+```
+
+This will add your current directory, as a volume, to the container, set the working directory to the volume, and run the command `cargo build --release`. This tells Cargo, Rust's build system, to compile the crate in `myapp` and output the executable to `target/release/myapp`.

+ 1 - 0
rust/github-repo

@@ -0,0 +1 @@
+https://github.com/rust-lang-nursery/docker-rust

+ 1 - 0
rust/license.md

@@ -0,0 +1 @@
+View [license information](https://www.rust-lang.org/en-US/legal.html) for the software contained in this image.

BIN
rust/logo.png


+ 1 - 0
rust/maintainer.md

@@ -0,0 +1 @@
+[the Rust Project developers](%%GITHUB-REPO%%)