হ্যাঁ, আপনি এটা করতে পারেন.
ব্যবহারের exec
এবং env
কমান্ড এই দৃশ্য বাস্তবায়ন।
ডকারে পরীক্ষার স্থিরতা
docker run -it --rm alpine:3.10
পাত্রে কমান্ড চালান:
exec env spring.application_name=happy-variable-name ${SHELL:-/bin/sh}
পরিবেশের ভেরিয়েবল যাচাই করুন:
HOSTNAME=bd0bccfdc53b
SHLVL=2
HOME=/root
spring.application_name=happy-variable-name
TERM=xterm
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
ps aux
পিআইডি যাচাই করতে ব্যবহার করা হয়নি
PID USER TIME COMMAND
1 root 0:00 /bin/sh
12 root 0:00 ps aux
python
পরিবেশগত পরিবর্তনশীল যাচাই করতে ব্যবহার করুন verify
apk add python
python -c 'import os; print(os.environ["spring.application_name"])'
আউটপুট হয় happy-variable-name
।
কি হল?
- শেল কল বিল্ট ইন এক্সেক
- শেল বিল্টইন এক্সিকিউশন কল করে সিস্কেল.এক্সেক বর্তমান শেলটি প্রতিস্থাপন করতে প্রক্রিয়া তৈরি করে 'এনভিভি'
- env প্রক্রিয়া কল করুন syscall.execvp env প্রক্রিয়া প্রতিস্থাপন করতে প্রক্রিয়া '/ বিন / শ' তৈরি করুন
অন্য উপায়
আপনি যদি ডকার ব্যবহার করছেন, আপনি ডকফাইফিলে পরিবর্তনশীল সেট করতে পারেন
FROM busybox
ENV xx.f%^&*()$#ff=1234
আপনি যদি কুবারনেট ব্যবহার করছেন তবে আপনি কনফিগারেশন দ্বারা পরিবর্তনশীল সেট করতে পারেন
test.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: foo-config
data:
"xx.ff-bar": "1234"
---
apiVersion: v1
kind: Pod
metadata:
name: foobar
spec:
containers:
- name: test-container
image: k8s.gcr.io/busybox
command: [ "/bin/sh", "-c", "env" ]
envFrom:
- configMapRef:
name: foo-config
restartPolicy: Never
পোড স্থাপন করুন kubectl apply -f test.yaml
kubectl logs foobar
আউটপুট যাচাই করুন :
xx.ff-bar=1234
কনফিগারেশন ম্যাপ '-', '_' বা 'অনুমতি দেয়।
-D
কমান্ড লাইনের বিকল্পের সাথে ঘোষিত ) হিসাবে ঠিক ততই খুশি , সুতরাং এটি এখন কার্যকর হয়। স্পষ্টতই প্রোগ্রামটি আমাকে না বলে উভয় ভেরিয়েবল সেটে দেখায়। তবে তবুও আমি আগ্রহী যে কোন পরিবেশের পরিবর্তনশীল নামগুলি অনুমোদিত।