嗨,我正在使用Google kubernetes引擎来部署我的应用程序。我试图添加一个configMap
apiVersion: v1
kind: ConfigMap
metadata:
name: configmap
namespace: default
data:
database_user: root
database_password: root
database_db: db
database_port: 5432
database_host: mypostgres
Run Code Online (Sandbox Code Playgroud)
然后在我的应用程序部署文件中,映射我的环境变量,如下所示
spec:
containers:
- env:
- name: DATABASE_HOST
valueFrom:
configMapKeyRef:
name: configmap
key: database_host
- name: DATABASE_NAME
valueFrom:
configMapKeyRef:
name: configmap
key: database_db
- name: DATABASE_PASSWORD
valueFrom:
configMapKeyRef:
name: configmap
key: database_password
- name: DATABASE_USER
valueFrom:
configMapKeyRef:
name: configmap
key: database_user
- name: DATABASE_PORT
valueFrom:
configMapKeyRef:
name: configmap
key: database_port
Run Code Online (Sandbox Code Playgroud)
我的服务没有运行,我得到了
CreateContainerConfigError当我尝试显示窗格的结果时
当我“描述我的豆荚”时,我得到了
错误:找不到密钥database_host
我的问题是,为什么我的部署文件未与我定义的configmap冲突
我通过此命令创建了configmap
kubectl创建configmap configmap …
我目前正在使用Postgresql作为数据库开发Spring Boot和一个reactJs应用程序。我的Spring和我的reactJs应用程序在两个单独的项目中。我试图使用docker-compose将应用程序进行docker化。因此,在服务器端,我springboot在docker-compose文件中定义了我的postgresql和服务。哪一个
version: '3'
services:
app:
image: app
depends_on:
- mypostgres
ports:
- "9000:8086"
environment:
- DATABASE_HOST=mypostgres
- DATABASE_USER=root
- DATABASE_PASSWORD=root
- DATABASE_NAME=test
- DATABASE_PORT=5432
mypostgres:
image: postgres:9.6-alpine
container_name: mypostgres
ports:
- "5433:5432"
environment:
- POSTGRES_PASSWORD=root
- POSTGRES_USER=root
- POSTGRES_DB=irooldb
volumes:
- ./postgres-data:/var/lib/postgresql/data
Run Code Online (Sandbox Code Playgroud)
对于Client side,我没有使用docker-compose,而是仅添加了一个Dockerfile并在单独的容器中运行客户端应用程序。
我的问题是:
如何将我的客户端容器链接到服务器端容器?
是否应在服务器端项目中的docker-compose文件中定义客户端服务?或者他们分开运行还可以吗?
我正在尝试在 GKE 上部署 ReactJS 服务。我使用 Nginx 构建我的 React 镜像(我使用了 create-react-app 和 React router)。
这是我的 dockerfile
FROM node:8.9.3-alpine as build-deps2
RUN mkdir /irooltest WORKDIR /irooltest COPY . /irooltest
RUN npm install RUN npm run build
FROM nginx:1.12-alpine
COPY --from=build-deps2 /irooltest/build /usr/share/nginx/html
EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]
Run Code Online (Sandbox Code Playgroud)
这是我的 docker compose 文件:
services:
irooltest:
image: chaimaennar/irooltest
ports:
- 8080:80
networks:
default:
networks:
default:
external:
name: mynetwork
Run Code Online (Sandbox Code Playgroud)
我尝试将我的应用程序导出到 80 以外的端口,但我无法(我知道这是由于 nginx,我默认配置为在端口 80 上提供服务)。
另一个问题是,运行我的应用程序时,它只显示根页面,任何其他(我用反应路由器定义的路由)显示:
404 未找到 nginx/1.12.2
当我看到源代码(在浏览器的检查部分)时,我看到:
-Top
-localhost:8080
-static
-index.css …Run Code Online (Sandbox Code Playgroud)