1
ericwood067 2020-09-24 20:44:36 +08:00 1
docker run --env-file 配置文件名
|
2
foMM 2020-09-24 20:46:33 +08:00 via Android
env file 是环境变量,有些配置文件需要挂在文件叫 container 。用 volume 挂载
|
3
foMM 2020-09-24 20:47:59 +08:00 via Android 1
手机回复,打字有错别字,报歉。有些可以用 volume 把 container 里面的文件挂载在服务器本地方便修改
|
4
yestodayHadRain OP @foMM 您的意思是先把容器启动了,然后再去改配置文件吗。
|
5
foMM 2020-09-24 22:25:27 +08:00
搜索了一下中文的相关内容,怎么这么多抄袭的……
Anyway,LZ 可以搜索关键字“详解 Docker 挂载本地目录及实现文件共享”,然后自己找一个你喜欢的平台看相关内容。我看了 7,8 篇,内容完全一样,也不知道谁抄的谁😥 |
6
yestodayHadRain OP @foMM 好的,如果可以实现宿主机和 docker 容器共享配置文件的话还有一个问题
我的镜像里不是项目代码,而是 jar 包。java 项目打成 jar 包后还可以去修改配置文件吗?还是直接把配置文件写在容器环境变量中,Java 项目中的配置文件去读取环境变量? java 项目支持这样做吗? |
7
yisany 2020-09-25 14:09:58 +08:00 1
@yestodayHadRain 这种的配置文件不应该都应该是单独的一个配置文件吗, 例如
java -jar xxx.jar -f config.yml 这样子的话, 容器内的 config.yml 可以用-v 命令挂载到宿主机的目录 想要修改直接修改宿主机的文件, 然后重启容器即可 容器内的结构: xxx ---bin ---start.sh ---lib ---xxx.jar ---conf ---config.yml ---log |
8
zunceng 2020-09-25 17:26:18 +08:00 1
docker swarm
echo " json or yaml balabalabala"| docker config create $config_name - version: "3.3" services: service-a: image: {{.REGISTRY}}/{{.SERVICE_NAME}}:{{.TAG}} configs: - source: external_config_a target: /etc/external_config/a configs: external_config_a: external: true |
9
yestodayHadRain OP @yisany 现在又遇到了新的问题, mysql 中如何获取环境变量呢?
|
10
yisany 2020-09-30 09:39:23 +08:00
@yestodayHadRain 不知道你描述的具体情况是什么样, 容器内部使用 env 命令不就可以获取所有的环境变量吗
|
11
yestodayHadRain OP @yisany 是可以获取到环境变量,但是 mysql 容器里的初始化 sql 文件中要如何引用变量呢?
|
12
yestodayHadRain OP @yisany 比如建表前需要 use 数据库名称,数据库名称在环境变量中要怎么引用呢?
|