我是一名翻译助手,以下是翻译内容:
Dockerfile构建成功,但在执行
我的 docker-compose.yml 文件如下:
此外,
我正在尝试在我的Docker容器中使用shell脚本作为入口点。为此,我在Dockerfile中定义了一个入口点,如下所示:
abc.Dockerfile
FROM ubuntu
COPY abc.sh /
RUN chmod +x /abc.sh
ENTRYPOINT /abc.sh
Dockerfile构建成功,但在执行
exec
进入容器时出现错误:$ docker exec -it drupaldocker_myapp_1 bash
Error response from daemon: Container ca32bafe2247e51d5e9b1a8f0cf83457ccecb29e8ff9747a8c98aa6a046b0550 is restarting, wait until the container is running
docker ps 的输出结果:
Raghav-Macbook:iflychat-server-development-system raghav$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ca32bafe2247 drupaldocker_myapp "/bin/sh -c \"/abc.sh\"" 9 minutes ago Restarting (0) 2 minutes ago drupaldocker_myapp_1
我的 docker-compose.yml 文件如下:
version: '2'
services:
myapp:
build:
context: .
dockerfile: abc.Dockerfile
restart: always
tty: true
abc.sh
#!bin/sh
ls
cat /abc.sh
此外,
docker-compose up
没有报错。输出如下:Raghav-Macbook:drupal-docker raghav$ docker-compose up
Recreating drupaldocker_myapp_1
Attaching to drupaldocker_myapp_1
myapp_1 | oot etc lib media opt root sbin sys usr
myapp_1 | bin dev home lib64 mnt proc run srv tmp var
myapp_1 | #!bin/sh
myapp_1 |
myapp_1 | ls
我应该做哪些改变才能让这个工作?
编辑
docker logs drupaldocker_myapp_1
的输出结果:
abc.sh boot etc lib media opt root sbin sys usr
bin dev home lib64 mnt proc run srv tmp var
#!bin/sh
ls
cat /abc.shabc.sh boot etc lib media opt root sbin sys usr
bin dev home lib64 mnt proc run srv tmp var
#!bin/sh
ls
cat /abc.sh
编辑2
当入口脚本执行后,容器是否会停止?
docker logs drupaldocker_myapp_1
的输出。 - kstromeiraosdocker run --restart=always
来启动它吗? - user2915097docker-compose up
命令运行我的容器,并在其中定义了restart: always
。 - raghav