我在通过docker-compose up启动容器时遇到问题。
我想这是一个Windows问题,因为我的同事拥有一个macbook,并且在运行docker-compose时遇到了问题。
错误:对于oracle-apex无法启动服务oracle-apex:oci运行时 错误:container_linux.go:265:启动容器进程导致 “exec:\”/ temp / entrypoint.sh \“:stat /temp/entrypoint.sh:没有这样的文件 或目录“
目录docker / apex / scripts确实存在于我的机器上,不是空的并且包含文件entrypoint.sh。 当我用谷歌搜索这个错误时,我发现了一些类似的问题,这告诉我用COMPOSE_CONVERT_WINDOWS_PATHS = 1创建一个env文件,我已经完成了。
版本:
Docker version 1.13.1, build 092cba3
docker-compose version 1.8.0,build unknown
Windows 10
搬运工-compose.yml
version: '2'
services:
proxy:
build: ./docker/proxy/
container_name: searchkit_proxy
ports:
- "8000:80"
volumes:
- ./docker/searchkit-v2/dist:/public/static
oracle-apex:
image: araczkowski/oracle-apex-ords
container_name: vanditmar-apex
volumes:
- ./docker/apex/scripts/:/temp/
ports:
- "49160:22"
- "8080:8080"
- "1521:1521"
entrypoint: ["/temp/entrypoint.sh"]
volumes:
esdata1:
driver: local
oracle-data:
driver: local
networks:
esnet:
文件夹泊坞窗中的Dockerfile / apex /
FROM araczkowski/oracle-apex-ords
ADD ./scripts/ /temp/
RUN /temp/install.sh
entrypoint.sh
#!/bin/bash
exec >> >(tee -ai /docker_log.txt)
exec 2>&1
# # Update hostname
sed -i -E "s/HOST = [^)]+/HOST = $HOSTNAME/g" /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
sed -i -E "s/HOST = [^)]+/HOST = $HOSTNAME/g" /u01/app/oracle/product/11.2.0/xe/network/admin/tnsnames.ora
sed -i -E "s/PORT = [^)]+/PORT = 1521/g" /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
#
/etc/init.d/oracle-xe start
/etc/init.d/tomcat start
/etc/init.d/ssh start
/temp/install.sh
##
## Workaround for graceful shutdown. ....ing oracle... ‿( ́ ̵ _-`)‿
##
while [ "$END" == '' ]; do
sleep 1
trap "/etc/init.d/oracle-xe stop && END=1" INT TERM
done
;;
我是docker的新手,但我想知道如何解决这个问题。我们认为问题是Windows上的文件路径不同。
我在Windows上的Ubuntu上使用Bash作为命令行。如果有任何信息丢失请告诉我,所以我可以添加:)