version: "3.7"
services:
db:
build:
context: ./database
command: --default-authentication-plugin=mysql_native_password --sql_mode=""
restart: always
cap_add:
- SYS_NICE # CAP_SYS_NICE
volumes:
- db_data:/var/lib/mysql
ports:
- ${MYSQL_PORT}:${MYSQL_PORT}
environment:
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_TCP_PORT: ${MYSQL_PORT}
env_file: ./.env
back:
depends_on:
- db
build:
context: ./backend
target: development
volumes:
- ./backend:/app
- /app/node_modules
restart: "no"
ports:
- ${BACKEND_PORT}:${BACKEND_PORT}
env_file: ./.env
front:
depends_on:
- back
- db
build:
context: ./frontend
target: development
stdin_open: true
volumes:
- ./frontend:/app
- /app/node_modules
restart: "no"
ports:
- ${FRONTEND_PORT}:${FRONTEND_PORT}
env_file: ./.env
volumes:
db_data: {}
文件2
const dev = {
...env,
apiUrl: "http://localhost:3000/api",
};
非常感谢你的帮助!最佳
环境变量是一种简单的方法,可以将像这样的少量配置传递进来。
对于这种特殊情况,我可能会配置一个URL,而不是主机的IP地址。您可能非常合理地希望在负载均衡器后面部署此应用程序;负载均衡器可能会终止TLS,因此您可以通告https:
URL;您的本地IP地址可能无法从客户端直接访问;如果您有一个IP地址,您更喜欢通告一个DNS名称而不是IP地址。
在节点代码中,您可以在process.env
中找到环境变量:
const dev = {
...env,
apiUrl: process.env.API_URL || 'http://localhost:3000/api'
};
services:
front:
environment:
API_URL: http://10.20.30.40/api
# API_URL: https://example.com/myapp/api
问题内容: 不熟悉Unix网络,添加虚拟接口等,现在尝试学习。我们正在尝试对我们的应用程序进行docker化。 我的要求是:将ip分配给可从外部应用程序/浏览器访问的docker容器。 容器ip应该基本上可以从同一网络中的其他计算机ping通。我不想使用端口转发。 我想访问docker容器,就像我们使用ip地址访问VM。没有端口映射,-p标志。如果我在容器中运行任何服务器,例如Apache或Tom
问题内容: 创建新容器后,是否可以运行命令以从主机获取容器的IP地址? 基本上,一旦Docker创建了容器,我想滚动自己的代码部署和容器配置脚本。 问题答案: 该的选项就派上用场了。 现代Docker客户端语法为: 旧的Docker客户端语法为: 这些命令将返回Docker容器的IP地址。 如注释中所述:如果在Windows上,请在花括号周围使用双引号而不是单引号。
正如标题所说。我需要能够检索docker主机的IP地址,以及从主机到容器的端口映射,并在容器内部完成此操作。
我看了很多stackoverflow的答案,但没有找到解决我的问题的方法,所以如果它似乎与其他问题类似,我表示歉意。 我有一个docker compose文件,它需要连接到位于端口5555上的本地数据库。我需要能够在docker compose文件中设置一个env var,它将转换为我的主机IP地址。 类似于 我怎么能这么做?
问题内容: 如标题所示。我需要能够检索Docker主机的IP地址和从主机到容器的端口映射,并在容器内部进行操作。 问题答案: 正如@MichaelNeale注意到的那样,没有必要使用此方法(除非仅在构建时需要此IP),因为此IP将在构建时进行硬编码。
问题内容: 在我的java应用程序中,如果用户输入IP,我们需要显示主机名,如果给出了主机名,那么我们需要显示主机的IP。 例如,如果用户输入IP地址,则应显示应用程序,反之亦然。 有可用的工具来执行此操作吗? 问题答案: 如果您使用Java进行编码,请尝试使用