本帖最后由 Alxen 于 2021-7-12 22:08 编辑
Docker-compose 如何在容器启动的同时开启服务器
尝试写过entrypoint总是在启动sh脚本时显示无法找到相对应文件无法启动容器
写在command里 容器会执行完命令后直接关闭(tty:true)的状态下
求解这是Bungee的写法(未写启动脚本)
复制代码
Docker-compose 如何在容器启动的同时开启服务器
尝试写过entrypoint总是在启动sh脚本时显示无法找到相对应文件无法启动容器
写在command里 容器会执行完命令后直接关闭(tty:true)的状态下
求解这是Bungee的写法(未写启动脚本)
- Bungee:
- tty: true
- image: openjdk:8u292-jre-slim-buster
- container_name: "Bungee"
- stdin_open: true
- working_dir: /root/Servers/#25565#BungeeCord/
- command:
- - bash
- ports:
- - "25565:25565"
- volumes:
- - /root/Servers/#25565#BungeeCord/:/root/Servers/#25565#BungeeCord/
- external_links:
- - mysql
- - AuthMe_1
- - Lobby_1
- - SheepWars_1
- - SheepWars_2
就一般不都是一个容器运行一个服务吗
找不到文件可以试试在 sh 的最上面加一句
cd $(dirname $0)
找不到文件可以试试在 sh 的最上面加一句
cd $(dirname $0)
本帖最后由 Alxen 于 2021-7-12 22:00 编辑
运行cd指令docker会报错 我指定过woking-dir 直接运行sh 也不行
もぺもぺ 发表于 2021-7-12 21:56
就一般不都是一个容器运行一个服务吗
找不到文件可以试试在 sh 的最上面加一句
运行cd指令docker会报错 我指定过woking-dir 直接运行sh 也不行
Alxen 发表于 2021-7-12 21:58
直接sh 路径运行也不行
有什么显示吗,还有能让我看看,你是怎么写的吗。
もぺもぺ 发表于 2021-7-12 21:59
有什么显示吗,还有能让我看看,你是怎么写的吗。
Bungee:
tty: true
image: openjdk:8u292-jre-slim-buster
container_name: "Bungee"
stdin_open: true
working_dir: /root/Servers/#25565#BungeeCord/
command:
- bash
ports:
- "25565:25565"
volumes:
- /root/Servers/#25565#BungeeCord/:/root/Servers/#25565#BungeeCord/
external_links:
- mysql
- AuthMe_1
- Lobby_1
- SheepWars_1
- SheepWars_2
Alxen 发表于 2021-7-12 22:01
Bungee:
tty: true
image: openjdk:8u292-jre-slim-buster
这是目前没写启动脚本的
Alxen 发表于 2021-7-12 22:01
这是目前没写启动脚本的
你应该先写 Dockerfile,然后 build 指定 Dockerfile 所在的文件夹。或者 image 指定编译后的镜像
你这样相当于用 docker 装 java
もぺもぺ 发表于 2021-7-12 22:07
你应该先写 Dockerfile,然后 build 指定 Dockerfile 所在的文件夹。或者 image 指定编译后的镜像
你这 ...
Docker最大好处就是不要在宿主主机上安装什么东西直接用镜像,
希望有其他解决办法
Alxen 发表于 2021-7-12 22:10
Docker最大好处就是不要在宿主主机上安装什么东西直接用镜像,
希望有其他解决办法 ...
对,但是是要写 Dockerfile 去继承,而不是直接用 openjdk:8u292-jre-slim-buster
Dockerfile 学一下也要不了你多久的时间https://yeasy.gitbook.io/docker_practice/image/build
不想的话,那个提示无法找到文件的提示是具体内容是什么
もぺもぺ 发表于 2021-7-12 22:16
对,但是是要写 Dockerfile 去继承,而不是直接用 openjdk:8u292-jre-slim-buster
Dockerfile 学一下也要 ...
ERROR: for Bungee Cannot start service Bungee: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "sh /root/Servers/#25565#BungeeCord/start.sh": executable file not found in $PATH: unknown
ERROR: Encountered errors while bringing up the project.
Alxen 发表于 2021-7-12 22:24
ERROR: for Bungee Cannot start service Bungee: OCI runtime create failed: container_linux.go:380: ...
找不到的是 sh 命令,因为 openjdk:8u292-jre-slim-buster 的底包里没有。
去用 openjdk:8-jre-alpine3.9