我正在尝试托管应用程序,因此我创建了服务器和客户端文件夹。在服务器文件夹节点js和客户端中,它使用create-react-app做出反应。
因此对于docker,我在服务器和客户端文件夹中创建了两个Dockerfile。在项目根目录中创建了一个docker-compose.yml文件。
对于本地开发,我需要具有服务器的自动重载功能,因此,我已经放置了
command: nodemon index.js
。一切正常。当我建立码头工人。但是当我托管此应用程序时,我需要更改为
`command: node index.js`
我认为在托管应用程序时它将添加节点环境变量的唯一方法,但是问题是我可以在服务器文件夹的index.js之类的
中进行访问process.env.APPLICATION_ENVIRONMENT
但是如何访问docker-compose.yml文件?由于我想使用相同的docker-compose.yml文件进行托管,并通过具有服务器自动重新加载的功能,使开发人员可以轻松地开始工作。
还有其他更好的方法可以做到这一点。 ?
答案 0 :(得分:1)
from bs4 import BeautifulSoup
import requests
import csv
import pandas as pd
links = pd.read_csv('C:\\Users\\acer\\Desktop\\links.csv',encoding = 'utf-8',dtype=str)
for i in range(1,10):
link = links.iloc[i,0]
for count in range(1,5):
r = requests.get(link + str(count))
soup = BeautifulSoup(r.text,'lxml')
##comp links
for links in soup.find_all('th',{"id":"c_name"}):
link = links.find('a')
li = link['href'][3:]
print("https://www.hindustanyellowpages.in/Ahmedabad/" + li)
文件支持variable substitution。然后,您可以使用它在docker-compose
文件中存储和设置要直接运行的命令。
例如一个示例docker-compose
:
docker-compose.yml
如果您的Shell中没有version: "3"
services:
server:
build: ./server
command: ${NODE_COMMAND:-nodemon} index.js
变量,则 ${NODE_COMMAND:-nodemon}
将默认为nodemon
。您可以通过在启动容器时为NODE_COMMAND
提供一个值来覆盖生产中的该值,即:
NODE_COMMAND
或者,在托管服务器上,您可以在运行$ NODE_COMMAND=node docker-compose up -d
命令的同一目录中创建一个.env
文件,如下所示:
docker-compose
然后NODE_COMMAND=node
将自动替换您撰写文件中的值。有关更多详细信息,请参见有关变量替换的链接页面。
希望这会有所帮助。