![](/img/trans.png)
[英]docker-compose postgresql docker-entrypoint-initdb.sh not working
[英]docker-compose=> sh: 1: ./entrypointsh: not found but entrypoint shows in LS
所以我試圖建立一個docker-compose文件,並在其中進行一些數據初始化。 但是,當我在終端中進行docker-compose up
時(Windows一+嘗試了bash一),我得到sh: 1: ./entrypoint: not found
盡管在我將ls
添加到命令時顯示了文件,卻sh: 1: ./entrypoint: not found
。
mssql_1 | data
mssql_1 | entrypoint.sh
mssql_1 | init.sql
mssql_1 | table
我的docker-compose文件:
version: '2.1'
services:
mssqldata:
image: microsoft/mssql-server-linux:latest
entrypoint: /bin/bash
mssql:
image: microsoft/mssql-server-linux:latest
ports:
- 1433:1433
volumes:
- /var/opt/mssql
- ./sql:/usr/src/app
working_dir: /usr/src/app
command: sh -c 'chmod +x ./entrypoint.sh; ./entrypoint.sh & /opt/mssql/bin/sqlservr;'
environment:
ACCEPT_EULA: Y
SA_PASSWORD: P@55w0rd
volumes_from:
- mssqldata
資料夾結構:
docker-compose.yml
sql/
data/
table/
entrypoint.sh
init.sql
我認為這應該在您的dockerfile中而不是在docker-compose.yml文件中發生。 通常,docker-compose背后的想法是使一個多容器應用程序運行,並使一個多容器應用程序中的容器相互通信。 因此,例如在您的上下文中,可能是使三個容器與一個asp.net + MSSQL + IIS容器進行通信。
無論如何,您都可以在dockerfile中完成您要達到的目標,我會盡力為您編寫此dockerfile。 這是dockerfile:
FROM microsoft/mssql-server-linux:latest
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
EXPOSE 1433
ADD entrypoint.sh /entrypoint.sh
COPY entrypoint.sh /entrypoint.sh
# I suggest you add starting : "/opt/mssql/bin/sqlservr" to the entrypoint.sh script it would simplify things a bit.
ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]
這是您需要的docker-compose.yml文件:
version: '2'
services:
ms-sql-server-container:
image: mssql-container:latest
# This refers to the docker container created by building our dockerfile with:
# docker build -t mssql-container .
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=P@55w0rd
volumes:
- ./sql:/usr/src/app
# I don't really understand the reason for the second volume that you had if you can kindly explain, then I can edit my answer to accomodate the second volume
# if I think that you need it.
ports:
- 1433:1433
讓我知道這個是否奏效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.