yjiang's cake

k8s备忘


#查看所有命名空间
kubectl get namespace

#查看所有pods
kubectl get pods -A
#指定namespace查看所有pods
kubectl -n {namespace} get pods
##查看pods详细ip node等信息
kubectl -n {namespace} get pods -o wide

#查看所有service
kubectl -n {namespace} get service

#查看所有ingress
kubectl -n {namespace} get ingress

#查看某个pod日志
kubectl -n {namespace} logs {name}

#查看某个已停止的pod日志
kubectl -n {namespace} logs {name} --previous

#进入某个容器
kubectl -n {namespace} exec -it {name} sh

#查看节点资源
kubectl -n {namespace} describe node

#查看容器资源实时监控
kubectl -n {namespace} top pods

#查看节点实时监控
kubectl -n {namespace} top node

基于 container4armhf/armhf-alpine 的ssh镜像

创建Dockerfile

FROM container4armhf/armhf-alpine

RUN apk update && apk add openssh && rm -rf /var/cache/apk/*
RUN  echo root:123456 | chpasswd
RUN sed -i 's/^\#PermitRootLogin\ prohibit-password/PermitRootLogin\ yes/' /etc/ssh/sshd_config
RUN ssh-keygen -A

EXPOSE 222
CMD ["/usr/sbin/sshd", "-D"]

build镜像

docker build -t ssh - < Dockerfile

运行容器

 docker run -it -d -p 222:22 --name='ssh' ssh

docker hub发布地址

https://hub.docker.com/r/yjiang/rpisshd/

docker 常用命令备忘

进入正在运行的容器

    docker exec -it <container_id> sh

备份

docker save -o <backup name> <image name>
#docker save -o alpine.tar.gz alpine

恢复

docker load -i <backup name>
#docker load -i alpine.tar.gz

docker 基于容器打包镜像

基于容器打包镜像

  • 以alpine下安装autossh为例
  • 保存安装了autossh的容器为新的镜像
  • 映射容器999端口到宿主机999端口

1.下载基础镜像alpine

docker pull alpine

2.运行容器

docker run -it alpine sh
  • 此处应注意不要使用-d后台运行,因为docker的运行机制为:当检测到容器中没有正在运行的进程时,将自动终止容器的运行.
  • 所以想让docker容器保持运行,必须在创建容器时执行一个非后台进程

3.安装autossh

echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories

apk update && apk add autossh

4.创建容器开启时的启动脚本(可选)

touch start.sh
chmod +x start.sh
echo "authssh -M 54321 -CNg -D 999 user@host"
  • 如果不使用启动脚本,可以直接在创建容器的时候调用启动命令
  • 如果使用启动脚本,需要保证脚本里的进程不会放入后台,否则docker容器会自动关闭

5.保存当前修改为新的镜像

docker ps
docker commit <container id> <image name>

6.基于镜像启动容器

#使用启动脚本
docker run --name=<container name> -it -p 999:999 -d <image name> /start.sh
#不使用启动脚本
docker run --name=<container name> -it -d 999:999 <image name> "authssh -M 54321 -CNg -D 999 user@host"

Docker更换daocloud源

新建/etc/default/docker文件,并增加以下内容:

DOCKER_OPTS="--registry-mirror=http://f3bd1f11.m.daocloud.io"

重启docker服务:

systemctl restart docker

Copyright © 2016 yjiang's cake

返回顶部