服务器1

1
2
3
# 在本地服务器打包镜像
docker save -o my_image.tar /my_image:v3 (打包)
docker save my_image:v3 | gzip > my_image.tar.gz(打包压缩)

服务器2 - 打开窗口1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 将打包好的容器,load到新的服务器
# docker load -i my_image.tar.gz
# 运行镜像成容器
docker run -i -d my_image:v3
# 查询容器Id
docker ps | grep my_image
# 进入容器内部
docker exec -it 容器Id bash
# 修改需要修改的内容
# 方法一内部修改 >直接取代 >>追加
echo "text" > filename
# 方法二 外部送入, !!!得另开一个窗口, 在正常服务器路径下不在docker容器内部
docker cp /newfile.xx 容器Id:/needDir/newfile.xx
# 返回窗口1查看效果 cat newfile.xx, 然后可以退出容器
exit

服务器2 - 打开窗口2

1
2
3
4
5
6
# 打包成新的镜像
docker commit -m "des" -a "name" 容器Id newImageName:v1
docker images | grep newImageName
# 加载到k8s的镜像集
docker tag newImageName:v1 docker.oa.com:8080/tce/newImageName:v1
docker push docker.oa.com:8080/tce/newImageName:v1

服务器2 - 进入yml文件路径下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 查看端口
netstat -lntup | grep 8000
# 创建
kubectl create -f xxx.yml
# 删除
kubectl delete -f xxx.yml
# 更新配置文件,重载
kubectl apply -f xxx.yml
# 获取命名空间
kubectl get ns
# 获取pod容器
kubectl get pod -n 命名空间
# 获取pod状态
kubectl get pod -n 命名空间 -o wide
# 查看pod详细状态
kubectl describe pod pod容器name -n namespace -o wide
# 获取service
kubectl get svc -n 命名空间
kubectl get svc,pod -n 命名空间
# 进入内部, 可以直接用curl命令直接访问容器内部的连接,看是否有返回的页面数据,可以ping外部的ip等等检测
kubectl exec -it pod容器name -n 命名空间 bash