在C#中的Docker链接 – 发现通过链接注入环境variables的最佳方法是什么?
所以我在C#中设置了一个简单的多容器应用程序,下面的文章是Docker化一个Redis服务
我使用下面的Dockerfile创build了我的Redis映像:
FROM ubuntu:14.04 RUN apt-get update && apt-get install -y redis-server EXPOSE 6379 ENTRYPOINT ["/usr/bin/redis-server"]
然后我使用以下命令创build我的图像
docker build -t sample/redis
最后创build了我的Redis容器
docker run -d --name redis sample/redis
然后,我创build我的Web应用程序容器,它只运行一个简单的控制台应用程序,使用以下Dockerfile运行Redis
FROM ubuntu:14.04 EXPOSE 1234 ENTRYPOINT ["mono","/path/to/my/app/app.exe"]
使用这个Dockerfile,我build立了图像…
docker build -t sample/my-app-image
最后,我创build了一个链接到以前创build的Redis
容器的容器。
docker run --link redis:redis --name my-app-image -d -it sample/my-app-image
和我的应用程序看起来如下所示:
public class Program { public static void Main(string[] args) { var path = Environment.GetEnvironmentVariable("REDIT_PORT_6379_TCP_ADDR"); IRedisCache cache = new RedisCache(path); } }
是否正确使用Environment.GetEnvironmentVariable(...)
来获取Redis容器中的链接信息,或者我是否完全错误?
var path = Environment.GetEnvironmentVariable("REDIT_PORT_6379_TCP_ADDR");
这似乎不是一个非常可configuration的方法。 我应该做的任何build议或修改?