diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..1abd4c668e1f86db9e7ca18ca6d1ada43a515ba5 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,11 @@ +* +!target/x86_64-unknown-linux-musl/debug/ +target/x86_64-unknown-linux-musl/debug/build +target/x86_64-unknown-linux-musl/debug/deps +target/x86_64-unknown-linux-musl/debug/examples +target/x86_64-unknown-linux-musl/debug/incremental +!target/x86_64-unknown-linux-musl/release/ +target/x86_64-unknown-linux-musl/release/build +target/x86_64-unknown-linux-musl/release/deps +target/x86_64-unknown-linux-musl/release/examples +target/x86_64-unknown-linux-musl/release/incremental diff --git a/Dockerfile b/Dockerfile index d7b6717cfe8cb62d4e4ff34f322a924c1e8e074f..a9fa90c5722bf9be82cde6d047834b33a4f78cbb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,6 @@ FROM scratch #ADD target/x86_64-unknown-linux-musl/debug/process1 /sbin/init COPY target/x86_64-unknown-linux-musl/debug/init /sbin/init -COPY target/x86_64-unknown-linux-musl/debug/process1 /sbin/process1 -COPY target/x86_64-unknown-linux-musl/debug/systemd /sbin/systemd +COPY target/x86_64-unknown-linux-musl/debug/process1 /usr/lib/process1/process1 +COPY target/x86_64-unknown-linux-musl/debug/systemd /usr/lib/systemd/systemd CMD ["/sbin/init"] diff --git a/docker-run.sh b/docker-run.sh index 39b1259928b05b2840f67845e23ce5d61cb21717..702f0e7e4b3330c5d9af345f6a1ae37862c44e72 100755 --- a/docker-run.sh +++ b/docker-run.sh @@ -26,7 +26,7 @@ if [ $? -ne 0 ]; then 你的环境缺少docker工具, 你可以: 1.安装docker环境... -dnf install docker +dnf install docker -y 或 curl -sSL https://get.docker.com | sh @@ -34,8 +34,7 @@ curl -sSL https://get.docker.com | sh systemctl start docker; systemctl enable docker 3.如果不支持cgroupv2, 修改后重启系统 -sudo dnf install -y grubby && sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0" - +sudo dnf install -y grubby ; sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0" EOF exit 1 fi @@ -44,12 +43,12 @@ fi echo -e "---!!!CARGO BUILD!!!---" cargo build --target x86_64-unknown-linux-musl || exit 1 - #!.docker build echo -e "\n\n\n---!!!DOCKER BUILD!!!---" +docker stop prun docker rmi process1 -f > /dev/null 2>&1 docker build --no-cache --tag process1 `pwd` || exit 1 #!.docker run echo -e "\n\n\n---!!!RUN PROCESS1 IN DOCKER!!!---" -docker run process1 init $* || exit 1 +docker run --rm --name prun --privileged -ti process1 init $* || exit 1