https://github.com/pigeonhands/docker-generate-rs
rust library for generating docker files.
https://github.com/pigeonhands/docker-generate-rs
docker rust
Last synced: 3 months ago
JSON representation
rust library for generating docker files.
- Host: GitHub
- URL: https://github.com/pigeonhands/docker-generate-rs
- Owner: pigeonhands
- Created: 2019-02-24T03:02:14.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-02-24T04:05:18.000Z (over 6 years ago)
- Last Synced: 2025-02-01T21:15:44.515Z (4 months ago)
- Topics: docker, rust
- Language: Rust
- Size: 4.88 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
```
use docker_generate::DockerFile;let build =
DockerFile::new()
.comment("build stage")
.from_alias("build", "golang:alpine")
.run("cd /src && go build -o goapp");
let run =
DockerFile::new()
.comment("run stage")
.from("alpine")
.workdir("/app")
.copy_from("build", "/src/goapp", "/app/")
.entrypoint(&["./goapp"]);let file = DockerFile::new()
.dockerfile(build)
.dockerfile(run);println!("{}", file.to_string());
``````
# build stage
FROM golang:alpine as build
RUN cd /src && go build -o goapp# run stage
FROM alpine
WORKDIR /app
COPY --from=build /src/goapp /app/
ENTRYPOINT ["./goapp"]
```OR
```
let build =
DockerFile::new()
.add("#", "My app".into())
.add("FROM", "alpine".into())
.add("WORKDIR", "/app".into())
.add("COPY", vec![".", "/app"].into())
.add("CMD", DockerFieldType::Array(vec!["./app/main"]));
``````
# My app
FROM alpine
WORKDIR /app
COPY . /app
CMD ["./app/main"]
```