bash - How to run commands after login to shell command of a container in a VM?
问题描述
when I ran this command
kubectl exec -it $(kubectl get pods | grep container-name | awk '{print $1}') /bin/sh
I ssh into my container,
/src #
Now - I want to add 2 more commands so I did
kubectl exec -it $(kubectl get pods | grep container-name | awk '{print $1}') /bin/sh ; cd app/Http/Controllers; ls -lrt;
but I still see this
/src #
I am supposed to see this
/src # cd app/Http/Controllers; ls -lrt;
total 44
-rw-r--r-- 1 root root 361 Jun 11 11:27 Controller.php
-rw-r--r-- 1 root root 1734 Jun 11 11:27 ClientController.php
-rw-r--r-- 1 root root 1702 Jun 11 11:27 BroadcastController.php
-rw-r--r-- 1 root root 5257 Jun 17 15:24 NodeController.php
-rw-r--r-- 1 root root 2844 Jun 17 20:21 AccountController.php
/src/app/Http/Controllers #
解决方案
无需进入 docker 容器,如下所示
kubectl exec -it $(kubectl get pods | grep container-name | awk '{print $1}') -- ls -lrt /app/Http/Controllers;
kubectl 将执行容器内的每个命令--
。您也可以挂载目标目录并ls
在本地主机上执行。创建一个类似这里的 yaml 文件。
apiVersion: v1
kind: Pod
metadata:
name: test-container
spec:
containers:
- name: my-container
image: my-container
volumeMounts:
- name: my-storage
mountPath: /data/
volumes:
- name: my-storage
hostPath:
# directory location on host
path: /opt/data
# this field is optional
type: Directory
然后运行这个命令kubectl apply -f your-file.yaml
推荐阅读
- c++ - 双引号传递给 QProcess::execute 的参数?
- php - Cakephp 错误:图像关联未在项目中定义
- python - python - 使用 Keras 和 TensorFlow 实现 LSTM 网络
- c++ - Tizen 的母语是什么?
- sapui5 - SAP WebIDE Uncaught ReferenceError: oView is not defined
- c# - 将索引值传递给 XAML 绑定表达式中的集合
- unit-testing - Jenkins共享库的单元测试
- python - Python Selenium:如何提取外层HTML
- python - 用于打印和手写数据的 Google Cloud OCR
- python - 模板中的Django formset视图以相反的顺序