小编Tom*_*bry的帖子

Docker + mssql-server-linux:如何在构建期间启动.sql文件(来自Dockerfile)

我正在尝试使用MSSQL DB创建自己的Docker镜像以进行开发.它基于microsoft/mssql-server-linux图像.在构建期间,我想将一些.sql文件复制到容器中,然后运行这些脚本(创建数据库模式,表,插入一些数据等).我Dockerfile看起来像这样:

# use MSSQL 2017 image on Ubuntu 16.04
FROM microsoft/mssql-server-linux:2017-latest

# create directory within SQL container for database files
RUN mkdir -p /opt/mssql-scripts

# copy the database files from host to container
COPY sql/000_create_db.sql /opt/mssql-scripts

# set environment variables
ENV MSSQL_SA_PASSWORD=P@ssw0rd
ENV ACCEPT_EULA=Y

# run initial scripts
RUN /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'P@ssw0rd' -i /opt/mssql-scripts/000_create_db.sql
Run Code Online (Sandbox Code Playgroud)

000_create_db.sql在我看来,内容并不重要.

真正的问题是当我尝试Dockerfile使用命令构建它时,docker build -t demo .我总是会遇到这些错误:

Sqlcmd: Error: Microsoft ODBC …
Run Code Online (Sandbox Code Playgroud)

sql-server sqlcmd docker dockerfile

16
推荐指数
3
解决办法
6620
查看次数

标签 统计

docker ×1

dockerfile ×1

sql-server ×1

sqlcmd ×1