Docker的env、env-file及模拟k8s的configmap
一.env、env-filecat > /tmp/envfile.txt <<EOFcontent='Hello,this is chinoukin 's evnfile'EOFdocker run -i --rm \-e superman=chinoukin --env cn=china \--env-file /tmp/envfile.txt \-v /...
·
一.env、env-file
cat > /tmp/envfile.txt <<EOF
content='Hello,this is chinoukin 's evnfile'
EOF
docker run -i --rm \
-e superman=chinoukin --env cn=china \
--env-file /tmp/envfile.txt \
-v /tmp:/tmp \
busybox:latest \
/bin/sh -c 'echo $superman $cn $content && printenv'
二.模拟k8s中的configmap
1.先来看看k8s中的配置
configmap:
yaml文件:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
run: service-feign
name: service-feign
namespace: default
spec:
selector:
matchLabels:
run: service-feign
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
run: service-feign
spec:
containers:
- image: 192.168.70.133:5000/service-feign:latest
imagePullPolicy: IfNotPresent
name: service-feign
#command: [ "java","-Djava.security.egd=file:/dev/./urandom","-jar","/usr/local/wiseapp/app.jar", "--eureka.client.service-url.defaultZone=http://eurekaserver/eureka/ -Xms256m -Xmx256m" ]
#command: ["./entrypoint.sh"]
#command: [ "/bin/sh", "-c", "bootJavaOpts=$(cat /etc/config/bootJavaOpts) jvmOpts=$(cat /etc/config/jvmOpts) && java -Djava.security.egd=file:/dev/./urandom -jar /app.jar $bootJavaOpts $jvmOpts" ]
command:
- "/bin/sh"
- "-c"
# - "bootJavaOpts=$(cat /etc/config/bootJavaOpts) && jvmOpts=$(cat /etc/config/jvmOpts) && java -Djava.security.egd=file:/dev/./urandom -jar /app.jar $bootJavaOpts $jvmOpts"
- "java -Djava.security.egd=file:/dev/./urandom -jar /app.jar $(cat /etc/config/bootJavaOpts) $(cat /etc/config/jvmOpts)"
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
name: my-config
items:
- key: bootJavaOpts
path: bootJavaOpts
- key: jvmOpts
path: jvmOpts
imagePullSecrets:
- name: mydocker-registry
restartPolicy: Always
2.模拟上述的configmap
由于openjdk镜像比较大,所以先pull下来
docker pull openjdk:8-apline
cat > /tmp/configmapkey <<EOF
-version
EOF
docker run -i --rm \
-v /tmp:/tmp \
openjdk:8-alpine \
/bin/sh -c 'javaopt=$(cat /tmp/configmapkey) && java $javaopt'
更多推荐
已为社区贡献3条内容
所有评论(0)