Ich würde gerne eine Rost Web App in einem Docker Container laufen. Ich bin neu in beiden Technologien, also habe ich einfach angefangen.Running Rost auf Docker: Leere Antwort vom Server
ist hier main.rs
:
extern crate iron;
use iron::prelude::*;
use iron::status;
fn main() {
fn hello_world(_: &mut Request) -> IronResult<Response> {
Ok(Response::with((status::Ok, "Hello World!")))
}
Iron::new(hello_world).http("127.0.0.1:8080").unwrap();
}
Cargo.toml
[package]
name = "docker"
version = "0.1.0"
[dependencies]
iron = "*"
Dockerfile
(von this Tutorial angepasst)
FROM jimmycuadra/rust
EXPOSE 8080
COPY Cargo.toml /source
COPY src/main.rs /source/src/
CMD cargo run
Dies sind die Befehle, die ich lief:
docker build -t oror/rust-test
docker run -it -p 8080:8080 --rm -v $(pwd):/source -w /source oror/rust-test cargo run
docker ps
ifconfig
meine Maschine der IP-Adresse zu erhalten:192.168.0.6
curl 192.168.0.6:8080
zu verbinden Meine Rost Web App
curl: (52) Leere Antwort vom Server
Ich habe localhost:8080
versucht, und ich immer noch die gleiche Leistung erhalten. Was fehlt mir?
Wo haben Sie den Andock-Container bereitgestellt? Sie sollten auch prüfen, ob Sie wirklich '-p 8080: 80' wollen. –
Ich habe es auf meinem lokalen Rechner bereitgestellt. Ich habe versucht, den Andock-Container ohne '-p 8080: 80' auszuführen; Das Docker-Image lief auf Port 32768. Ich versuchte, eine Verbindung zu '192.168.0.6: 32768' herzustellen, bekam aber die gleiche Antwort. – OReallyOReily
Dieser Port hat nichts mit Ihrem Server zu tun, Sie sollten trotzdem über Port 8080 darauf zugreifen müssen. –