docker一些常用命令以及镜像构建完后部署到K8s上

docker一些常用命令以及镜像构建完后部署到K8s上

    • 1.创建文件夹
    • 2.删除文件
    • 3.复制现有文件内容到新建文件
    • 4.打开某个文件
    • 5.查看文件列表
    • 6.解压文件(tar格式)
    • 7.解压镜像
    • 8.查看镜像
    • 9.删除镜像
    • 10.查看容器
    • 11.删除容器
    • 12.停止运行容器
    • 13.构建镜像
    • 14.启动容器
    • 15.镜像推送到镜像仓库
    • 16.前端项目镜像构建完成后部署到k8s上

1.创建文件夹

mkdir myfile (myfile是文件名称)

2.删除文件

rm -rf myfile

3.复制现有文件内容到新建文件

cp -r oldfile/ myfile/ (-r是地柜复制,会把oldfile这个文件整个复制过来,变成myfile/oldfile)
cp -r oldfile/app myfile/ (如果oldfile下还有一层文件夹app,只想要复制app)

4.打开某个文件

vim Dockerfile (Dockerfile是某个文件)
vim nginx.conf
进入某个文件若是想修改,则按Inset键即可,退出保存按ESC键 + :wq

5.查看文件列表

ls 或者 ll

6.解压文件(tar格式)

tar xvf dist.tar

7.解压镜像

docker load -i nginx.tar

8.查看镜像

docker images

9.删除镜像

docker rmi 镜像名称

10.查看容器

docker ps (查看正在使用的容器)
docker ps -a (查看所有的容器,包括停用的)

11.删除容器

docker rm 容器名称
docker rm -f 容器名称(强制删除)

12.停止运行容器

docker-compose down

13.构建镜像

docker build -t 镜像名称 . (最后的符号别忘记了)

14.启动容器

docker-compose up

15.镜像推送到镜像仓库

docker push 仓库地址/镜像名称:镜像版本

16.前端项目镜像构建完成后部署到k8s上

镜像构建的命令前面已经有了
项目根目录下新建一个deployment.yaml文件,配置如下:

apiVersion: apps/v1
kind: Deployment
metadata:name: frontend-deployment #部署起的名字
spec:selector:matchLabels:app: frontend #应用标签起的名字replicas: 2 # tells deployment to run 2 pods matching the templatetemplate:metadata:labels:app: frontend #应用标签起的名字spec:containers:- name: frontend #容器起的名字image: 镜像仓库/镜像名称:镜像标签ports:- containerPort: 8088volumeMounts:- mountPath: /home/dataname: simulator-datavolumes:- name: simulator-datahostPath:path: /home/datatype: Directory
---
apiVersion: v1
kind: Service
metadata:name: frontend-service
spec:selector:app: frontendports:- protocol: TCPport: 8088targetPort: 8088

配置完成后保存退出

kubectl apply -f deployment.yaml 输入命令出现下面提示,service也创建成功

在这里插入图片描述

kubectl get pods 查看是否启动成功
kubectl get services 查看分配的ip地址和端口号,可以根据ip地址和端口号来访问项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/28320.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英伟达开源最强通用模型Nemotron-4 340B

英伟达的通用大模型 Nemotron,开源了最新的 3400 亿参数版本。 本周五,英伟达宣布推出 Nemotron-4 340B。它包含一系列开放模型,开发人员可以使用这些模型生成合成数据,用于训练大语言模型(LLM)&#xff0…

Web开发技能树-HTML-class/id/name/tag

1 需求 需求1:CSS查找HTML元素 *tagclassid派生选择器 需求2:JavaScript查找HTML元素 通过id找到HTML元素:document.getElementById()通过标签名找到HTML元素:getElementsByTagName()通过类名找到HTML元素:document.getElemen…

分布式系统中的经典思想实验——两将军问题和拜占庭将军问题

文章目录 一、两将军问题1.1 问题描述1.2 深入理解两将军问题1.3 实验结论 二、拜占庭将军问题2.1 问题描述2.2 深入理解拜占庭将军问题2.3 解决方案 三、两将军和拜占庭问题的关系3.1 区别和联系3.2 应用与现实意义 参考资料 一、两将军问题 1.1 问题描述 两将军问题描述的是…

中国成熟工艺晶圆代工领域激烈的价格战即将落幕

据《经济日报》报道,中国第二大晶圆代工厂华虹半导体计划在下半年提高代工价格约10%。这标志着长达两年的成熟工艺代工价格下滑趋势的终结,意味着行业正从调整阶段走出,迈向更健康的发展轨道。受此影响,专注于成熟工艺的台湾晶圆代…

el-pagination 切换分页条数,会出现两次请求

文章目录 前言一、问题展示二、源码展示 前言 继上一次发现el-pagination在删除的时候pageNum不更新的问题。这次又发现了,切换分页条数,会出现两次请求。网上有很多解决方案,我就不多说了,我就简单记一下为啥会出现两次请求的问…

21. 第21章 算法分析

21. 算法分析 这个附录选自OReilly Media出版的Alen B.Downey的Think Complexity(2012)一书. 当你读完本书之后, 可能会像继续读读那本书.算法分析是计算机科学的一个分支, 研究算法的性能, 尤其是他们的运行时间和空间需求. 参见http://en.wikipedia.org/wiki/Analysis_of_al…

Vue前端通过Axios的post方式传输数据,后端为什么一直接收的值是null?

沃靠!这个细节太细了,搞了我两个多小时才找到这个bug。 一、 首先官方文档给我的post请求的例子是这样的: axios.post(/user, {firstName: Fred,lastName: Flintstone}).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);})…

Linux下的抓包工具使用介绍

应用层 传输层 网络层 数据链路层 物理层 1)tcpdump(传输/网络层) tcpdump -i eth0 tcpdump -i eth0 -vnn -v:显示包含有TTL,TOS值等等更详细的信息 -n:不要做IP解析为主机名 -nn:…

go协程的栈

go协程的栈默认有多少 Go 协程(goroutine)的栈初始大小并不是固定的多个栈,而是有一个默认的初始大小,这个大小在不同的 Go 版本中可能会有所不同。 目前,Go 1.17 版本中,默认的栈大小是 8KB。 关键点在于…

【Python的基本语法】

Python的基本语法包括以下几个方面: 注释: 注释以 # 开始,用于在代码中添加说明性文字,不会被解释器执行。 # 这是一个注释变量: 在Python中,变量不需要显式声明,直接通过赋值来创建。变量的命名…

RK平台Android单独编译内核

介绍如何在android平台下单独编译内核: 方式1(推荐): 在执行单独编译之前,必须有过整体编译Android,之后就可以单独编译内核开发,减少编译时间,具体操作如下: #!/bin/sh make ARCH=arm64 CC=../prebuilts/clang/host/linux-x86/clang-r383902b/bin/clang \ LD=.…

Shell 学习笔记 - 变量的类型 + 变量的赋值

1.6 Shell 变量的类型 Shell 变量分为四类,分别是 自定义变量环境变量位置变量预定义变量 根据工作要求临时定义的变量称为自定义变量; 环境变量一般是指用 export 内置命令导出的变量,用于定义 Shell 的运行环境,保证 Shell …

Vue51-插件

一、插件的定义 vue里面的插件,类似于游戏的外挂。 vue中插件的本质:一个对象,里面必须包含install方法。 二、插件的使用 2-1、创建一个插件js文件(写在src中plugins.js) 2-2、应用插件:Vue.use(插件) …

外键的基本概念

外键的基本概念 外键(FOREIGN KEY):外键是一个或多个列,其值必须在另一个表中对应列的值中存在。外键用于维护两个表之间的关系,并确保引用的完整性。 外键在示例表结构中的应用 假设外键约束如下: FOR…

vue框架学习-----vue简介vue.js安装第一个vue程序部分vue指令

什么是vue? Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面&#xf…

微信小程序获取用户信息流程

微信小程序获取用户信息的流程可以分为以下几个步骤,下面将结合参考文章中的信息进行详细解释: 配置权限: 在小程序的app.json文件中配置scope.userInfo,以确保小程序可以请求用户信息授权。创建触发授权的交互元素: …

大学生计算机基础题(一)

嗨,大家好,我是异星球的小怪同志 一个想法有点乱七八糟的小怪 如果觉得对你有帮助,请支持一波。 希望未来可以一起学习交流。 一、单选题(20小题,共30分) 1、下列关于列表的说法中,错误的是…

机器真的能思考、学习和智能地行动吗?

In this post, were going to define what machine learning is and how computers think and learn. Were also going to look at some history relevant to the development of the intelligent machine. 在这篇文章中,我们将定义机器学习是什么,以及…

【Java03】Java中数组在内存中的机制

1. 内存中的数组 Java中的数组是一种引用类型,数组变量(引用)和数组元素在内存中是分开的。 Java中的数组变量其实就是指针。 如果想要访问数组元素,只能通过这个数组的引用变量(指针)来访问。 实际数组对…

杀戮尖塔游戏

Java 你正在玩策略卡牌杀戮尖塔游戏,轮到你出牌,手里N张攻击卡,每张都需要花金币coust[i]和获得伤害dmager[i]。 最多花3金币能造成的最大伤害是多少? class Solution{public int calc(int[] cost, int[] dmager, N){int[][] db …