K8s&Docker命令

Docker

//进入容器
sudo docker exec -it 4872c29aae8a /bin/bash
#进入一个正在运行的容器
docker attach d20f3dc6cd92
#运行docker镜像
docker run -d -p 12200:12200 ba681a5c238b /bin/bash
#启动并进入容器
docker run -it image_id bash 启动并进入容器
//运行eureka-server镜像
docker run –name eureka-server -p 8761:8761 -t daocloud.io/ms_platform/eureka-server
//删除 docker私服里面的镜像
export REGISTRY_DATA_DIR=/opt/registry/docker/registry/v2
delete_docker_registry_image -i sofa/media:M8
//停止删除容器
// 查看所有正在运行容器
docker ps
// containerId 是容器的ID
docker stop containerId
// 查看所有容器
docker ps -a
//查看所有容器ID
docker ps -a -q
//stop停止所有容器
docker stop $(docker ps -a -q)
// remove删除所有容器
docker rm $(docker ps -a -q)
#获取容器的输出信息
docker logs [container ID or NAMES]
docker logs -f 8cdeb7d02400
#查找镜像
docker search imagename
#下载最新版
docker pull imagename
#下载指定版本
docker pull imagename:5.6
docker images # 查看本地镜像
#运行镜像
docker run imagename
#使用版本为15.10的ubuntu系统镜像来运行容器
docker run -t -i ubuntu:15.10 /bin/bash
#启动nginx镜像,没有会自动pull
docker run -d --name mynginx nginx
#进入一个正在运行的容器
docker attach d20f3dc6cd92
#docker搭建部署nginx并且实现文件夹挂载
docker run --name nginx81 -d -p 81:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf --privileged=true 27a188018e18
删除none的镜像,要先删除镜像中的容器。要删除镜像中的容器,必须先停止容器。
docker images
docker rmi $(docker images | grep “none” | awk ‘{print $3}’)
直接删除带none的镜像,直接报错了。提示先停止容器。
#停止容器
docker stop $(docker ps -a | grep “Exited” | awk ‘{print $1 }’)
/#删除容器
docker rm $(docker ps -a | grep “Exited” | awk ‘{print $1 }’)
#删除镜像
docker rmi $(docker images | grep “none” | awk ‘{print $3}’)
#构建镜像
docker build -t 172.16.100.82:5000/sofa/product:2019.05.31 .
#停止一个容器
docker stop bfd094233f96
#停止所有的container,这样才能够删除其中的images
docker stop $(docker ps -a -q)
#删除一个容器,默认并不会删除运行中的容器。所以删除容器前,必须先停止容器
docker rm bfd094233f96
#删除本地镜像
docker rmi training/sinatra
#删除镜像 删除前必须先停止所有的容器。image id可以通过docker images查看
docker rmi
#删除全部image
docker rmi $(docker images -q)
#如果想要删除所有container的话再加一个指令:
docker rm $(docker ps -a -q)
#清理所有未打过标签的本地镜像,其中 -q 和 -f 是 quiet,–filter 的缩写
docker rmi $(docker images -q -f “dangling=true”)
#删除所有id为的镜像
docker rmi $(docker images | grep “^” | awk “{print $3}”)
#获取容器的输出信息
docker logs [container ID or NAMES]
#从容器内复制文件到指定的路径上
docker cp container:path hostpath
-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,
-i 则让容器的标准输入保持打开。
–name 使用一个自定义的名字

docker rmi --force docker images | grep 172.16.100.82:5000 | awk '{print $3}'
docker批量删除容器、镜像
1、删除所有容器
docker rm docker ps -a -q
2、删除所有镜像
docker rmi docker images -q
3、按条件删除镜像
没有打标签
docker rmi docker images -q | awk '/^<none>/ { print $3 }'
镜像名包含关键字
//其中doss-api为关键字
docker rmi --force docker images | grep doss-api | awk '{print $3}'
docker rmi --force docker images | grep 172.16.100.82:5000 | awk '{print $3}'
//创建命名空间
kubectl create namespace poc

docker save

解压并复制
tar -xvf mysql-5.7.11-Linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.11-Linux-glibc2.5-x86_64/* /usr/local/mysql/
创建data目录
mkdir /usr/local/mysql/data
创建mysql用户组及其用户
groupadd mysql
useradd -r -g mysql mysql
初始化数据
[root@localhost mysql] ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
复制配置文件到 /etc/my.cnf
cp -a ./support-files/my-default.cnf /etc/my.cnf (选择y)

K8s

#查看pod
kubectl describe pods kubernetes-dashboard-1212050902-k2qj6 --namespace=“kube-system”
#创建私服秘钥key
kubectl -n docker-sofa create secret docker-registry dockerregistrykey --docker-server=www.uisftech.docker.com --docker-username=admin --docker-password=admin --docker-email=925204905@qq.com
#查看
kubectl get deployment
#删除部署
kubectl delete deployment springcloud-product
#查看容器
kubectl get pods
#删除
kubectl delete pods sonarqube-1880671902-s3fdq
#查看service
kubectl get service
#删除service
kubectl delete service springcloud-tcms
//查看
kubectl get deployment
//删除部署
kubectl delete deployment springcloud-product
//查看容器
kubectl get pods
//删除
kubectl delete pods sonarqube-1880671902-s3fdq
//查看service
kubectl get service
//删除service
kubectl delete service springcloud-tcms

K8s yaml

apiVersion: v1
kind: Pod
metadata:
name: sofa-cipwy
namespace: default
spec:
containers:

  • name: sofa-cipwy
    image: www.uisftech.docker.com/sofa/cip:latest
    ports:
    - containerPort: 8998
    volumeMounts:
    - name: sofa
    mountPath: /usr/local/logs
    imagePullSecrets:
  • name: registrykey-m2-1
    volumes:
  • name: sofa
    hostPath:
    path: /opt
    type: DirectoryOrCreate

apiVersion: v1
kind: Service
metadata:
name: sofa-cipwy
namespace: default
labels:
app: sofa-cipwy
spec:
ports:
- port: 8998
targetPort: 8998
“nodePort”: 49999
selector:
app: sofa-cipwy
type: NodePort
---------------------------分割性------------------------
apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中
kind: Deployment #指定创建资源的角色/类型
metadata: #资源的元数据/属性
name: sofa-cip #资源的名字,在同一个namespace中必须唯一
labels: #设定资源的标签
app: sofa-cip
spec: #specification of the resource content 指定该资源的内容
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: sofa-cip
template:
metadata:
labels:
app: sofa-cip
spec:
containers:
- name: sofa-cip #容器的名字
image: www.uisftech.docker.com/sofa/cip:latest #容器使用的镜像地址
ports:
- containerPort: 8998 #容器开发对外的端口
protocol: TCP
livenessProbe: #pod内容器健康检查的设置
httpGet: #通过httpget检查健康,返回200-399之间,则认为容器正常
path: /
port: 8998
initialDelaySeconds: 30 #表明第一次检测在容器启动后多长时间后开始
timeoutSeconds: 30 #检测的超时时间
imagePullPolicy: IfNotPresent
volumeMounts: #挂载持久存储卷
- name: volume #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /usr/local/logs #挂载到容器的某个路径下
readOnly: True
# Comment the following tolerations if Dashboard must not be deployed on master
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
volumes: #定义一组挂载设备
- name: volume #定义一个挂载设备的名字
#meptyDir: {}
hostPath:
path: /opt #挂载设备类型为hostPath,路径为宿主机下的/opt,这里设备类型支持很多种


apiVersion: v1
kind: Service
metadata:
name: sofa-cip
namespace: default
labels:
app: sofa-cip
spec:
ports:
- port: 8998
targetPort: 8998
“nodePort”: 49999
selector:
app: sofa-cip
type: NodePort

DockerFile

#运行此项目还需要基于java镜像
FROM java:8
#将本地文件夹挂载到当前容器
VOLUME /tmp
#拷贝文件到容器,注意这里的jar包是事先准备好的一个演示spingCloud的jar项目,需要放在Dockerfile同样的目录下
#ADD [镜像名] [复制自定义的镜像名]
ADD service-ribbon-0.0.1-SNAPSHOT.jar springcloud-client.jar
RUN ["/bin/bash","-c",“touch / springcloud-client.jar”]
#指定JAVA 环境变量
ENV JAVA_HOME /jdk/jre
ENV PATH P A T H : PATH: PATH:JAVA_HOME/bin
ENV CLASSPATH .: J A V A H O M E / l i b / r t . j a r : JAVA_HOME/lib/rt.jar: JAVAHOME/lib/rt.jar:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#开放8761端口
EXPOSE 8761
#配置容器启动后执行的命令
ENTRYPOINT [“java”,"-jar","/ springcloud-client.jar"]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值