相关疑难解决方法(0)

如何在docker中构建期间设置环境变量

我正在尝试在构建期间在docker容器中设置环境变量但没有成功.使用run命令时设置它们有效但我需要在构建期间设置它们.

Dockerfile

FROM ubuntu:latest
ARG TEST_ENV=something
Run Code Online (Sandbox Code Playgroud)

命令我正在使用构建

docker build -t --build-arg TEST_ENV="test" myimage .
Run Code Online (Sandbox Code Playgroud)

运行

docker run -dit myimage
Run Code Online (Sandbox Code Playgroud)

我正在使用检查可用的环境变量

docker exec containerid printenv
Run Code Online (Sandbox Code Playgroud)

结果是

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=e49c1abfd58b
TERM=xterm
no_proxy=*.local, 169.254/16
HOME=/root
Run Code Online (Sandbox Code Playgroud)

TEST_ENV不存在

docker dockerfile

38
推荐指数
2
解决办法
4万
查看次数

MongoNetworkError:第一次连接时无法连接到服务器 [mongodb:27017]

在此处输入图片说明

我正在学习 docker 初学者课程(https://www.youtube.com/watch?v=3c-iBn73dDE&t=4384s),我认为它做得很好。

作为课程的一部分,应用程序与节点服务器和 js 前端放在一起,与用于 mongo db 的 docker 容器和用于持久性的 mongo express 通信。

可以在https://gitlab.com/nanuchi/techworld-js-docker-demo-app/-/blob/master/app/server.js找到节点应用程序。包含:

MongoClient.connect("mongodb://admin:password@mongodb:27017", 
function (err, client) {
if (err) throw err;

var db = client.db('user-account');
userObj['userid'] = 1;
Run Code Online (Sandbox Code Playgroud)

我在 chromebook 上的 ubuntu 20.04 上运行了 2 个 docker 容器(截图)。当我运行时:

11@penguin:~/techworld-js-docker-demo-app/app$ nodejs server.js 
 app listening on port 3000!
Run Code Online (Sandbox Code Playgroud)

但是当我打开浏览器到 localhost:3000 时,我得到:

(node:2716) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover …
Run Code Online (Sandbox Code Playgroud)

mongodb node.js docker

1
推荐指数
1
解决办法
379
查看次数

标签 统计

docker ×2

dockerfile ×1

mongodb ×1

node.js ×1