【发布时间】:2017-09-14 18:10:14
【问题描述】:
FROM golang:1.8
ADD . /go/src/beginnerapp
RUN go get -u github.com/gorilla/mux
RUN go get github.com/mattn/go-sqlite3
RUN go install beginnerapp/
VOLUME /go/src/beginnerapp/local-db
WORKDIR /go/src/beginnerapp
ENTRYPOINT /go/bin/beginnerapp
EXPOSE 8080
sqlite db 文件位于local-db 目录中,但我似乎没有正确使用VOLUME 命令。有什么想法可以保留对 sqlite db 文件的 db 更改吗?
我不介意卷是在构建之前还是之后安装的。
我也试过运行以下命令
user@cardboardlaptop:~/go/src/beginnerapp$ docker run -p 8080:8080 -v ./local-db:/go/src/beginnerapp/local-db beginnerapp
docker:来自守护程序的错误响应:创建 ./local-db:“./local-db”包括本地卷名的无效字符,仅“[a-zA-Z0-9][a-zA-Z0 -9_.-]”是允许的。如果您打算传递主机目录,请使用绝对路径。
编辑:使用 /absolutepath/local-db 而不是相对路径 ./local-db
【问题讨论】:
-
运行容器并进行更改后它没有持续存在?那是因为你没有挂载卷
-
@tima 我不需要在构建过程中安装它。之前或之后都可以
标签: sqlite docker dockerfile