![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 71
Aaron_neil
这个作者很懒,什么都没留下…
展开
-
Docker进阶 - 13. Docker 容器监控之 CAdvisor+InfluxDB+Granfana (CIG) 简介
CAdvisor是一个容器资源监控工具,包括容器的内存、CPU、网络IO、磁盘IO等监控,同时提供了一个 WEB 页面用于查看容器的实时运行状态,CAdvisor默认存储2分钟的数据,而且只是针对单物理机,不过 CAdvisor 提供了很多数据集成接口,支持InfluxDB、Redis、Kafka、Elasticsearch等集成,可以加上对应配置将监控数据发往这些数据库存储起来。展示Host和容器两个层次的监控数据展示历史变化数据。原创 2023-02-12 11:44:12 · 672 阅读 · 0 评论 -
Docker进阶 - 12. Portainer 简介和安装
Portainer 是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境,简单来说即对容器和镜像等进行监控和统计。原创 2023-02-12 10:46:19 · 1407 阅读 · 0 评论 -
Docker进阶 - 11. Docker Compose 编排服务
2. 使用Compose编排微服务2.1 编写 xml 文件(1) 首先定义microService 服务,其中microService 为服务名,可以自己定义。(2) 然后定义 redis 服务 和 mysql 服务。(3) 最后定义采用的网络,下面的语句相当于执行 docker network create atguigu_net 命令。原创 2023-02-11 22:31:22 · 876 阅读 · 0 评论 -
Docker进阶 - 10. Docker Compose 简介
Compose 是Docker 公司推出的一个工具软件,可以管理多个Docker 容器组成一个应用。因此只需要定义一个YAML 格式的配置文件 docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器。2. DockerCompose 产生原因(1) 如果需要同时部署很多服务,而每个服务单独写Dockerfile,然后再构建镜像和容器,这样流程很繁琐,因此docker官方提供了 docker-compose多服务部署的工具。原创 2023-02-11 11:27:40 · 669 阅读 · 0 评论 -
Docker进阶 - 9. docker network 之自定义网络
由于ip地址是经常变化的,直接对服务名进行ping更符合实际需求,因为服务名是不会改变的。因此如何解决上述问题呢?(1) 新建自定义网络,默认使用桥接网络 bridge(2) 新建容器加入上一步新建的自定义网络(3) 互相ping测试,即可以通过服务名直接ping通结论:自定义网络本身就维护好了主机名和ip的对应关系(ip和域名都能通)原创 2023-02-10 17:35:23 · 899 阅读 · 0 评论 -
Docker进阶 - 8. docker network 网络模式之 container
container网络模式新建的容器和已经存在的一个容器共享一个网络ip配置而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。原创 2023-02-10 12:58:26 · 860 阅读 · 0 评论 -
Docker进阶 - 7. docker network 网络模式之 host
1. host 模式概述直接使用宿主机的IP地址与外界进行通信,不再需要额外进行NAT转换。容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace,同时容器将不会虚拟出自己的网卡,而是使用宿主机的IP和端口2. host模式代码语法一般情况下,新建一个容器,默认使用的网络模式为 bridge,如果想要指定为 host 模式,需要使用 --netowrk host 指定,如下所示。但需要注意的是,不需要写 -p 这个参数。原创 2023-02-10 10:58:48 · 4796 阅读 · 0 评论 -
Docker进阶 - 6. docker network 网络模式之bridge
Docker 服务默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),该桥接网络的名称为docker0,它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。Docker 默认指定了docker0接口的IP地址和子网掩码,让主机和容器之间可以通过网桥相互通信。 网桥docker0创建一对对等虚拟设备接口一个叫veth,另一个叫eth0,成对匹配。整个宿主机的网桥模式都是docker0,类似一个交换机有一堆接口,每个接口叫veth,每个容器实例内部也有一原创 2023-02-10 00:15:30 · 980 阅读 · 0 评论 -
Docker进阶 - 5. docker network 简介
docker 启动之后,会产生一个名为 docker0的虚拟网桥。就是通过这个网桥与宿主机之间,以及容器与容器之间进行连接。原创 2023-02-08 22:31:43 · 692 阅读 · 0 评论 -
Docker进阶 - 4. Dockerfile 案例 - 发布微服务部署到Docker
1. 在IDEA工具里搞定微服务jar包 (docker_boot-SNAPSHOT.jar) 并上传到宿主机(Linux)中。直接在地址栏访问:[宿主机linux ip]:6001/order/index,如成功,则打包运行成功。2. 编写 Dockerfile 文件,注意:Dockerfile和jar包要在一个文件目录下。3. 构建镜像。docker build -t 新镜像名字:TAG . 4. 运行容器. 5. 测试容器原创 2023-02-08 11:25:34 · 240 阅读 · 0 评论 -
Docker进阶 - 3. Dockerfile 案例 - 编写构建和运行
语法:docker build -t 新镜像名字:TAG . 【注意,TAG后面有空格,有个点】构建一个新的镜像:centos7 + vim + ifconfig + jdk8。的学习笔记,仅供参考。如看其他Docker内容,可看我博客Docker系列。语法:docker run -it 新镜像名字:TAG。注:本文部分图文内容来自于。原创 2023-02-07 00:12:20 · 251 阅读 · 0 评论 -
Docker进阶 - 2. Dockerfile 常用保留字简介
DockerFile 常用保留字简介。1. FROM2. MAINTAINER3. RUN4. EXPOSE5. WORKDIR6. USER7. ENV8. VOLUME9. COPY10. ADD11. CMD12. ENTRYPOINT13. CMD 和 RUN 命令的区别原创 2023-02-06 17:19:38 · 730 阅读 · 0 评论 -
Docker进阶 - 1. DockerFile 简介
DockerFile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。其官网地址为构建步骤:编写 DockerFile文件 --> 使用docker build 命令构建镜像 --> docker run运行容器实例。原创 2023-02-05 13:09:20 · 584 阅读 · 1 评论 -
Docker - 13. 容器卷常用操作
1. 宿主和容器之间映射添加容器卷,docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名2. 宿主和容器之间映射添加容器卷的命令时,默认的读写方式是主机和容器内都可以进行读写操作3. u1完成了和宿主机的映射,而容器u2如想继承u1的卷规则,可以使用如下命令:docker run -it --privileged=true -volumes-from 父类 --name u2 镜像名原创 2023-02-05 00:00:02 · 506 阅读 · 0 评论 -
Docker - 12. 容器卷基本概念
之前对于Docker容器产生的数据,如果不进行备份,那么当容器实例删除后,容器内的数据就会跟着删除,我们可以使用cp命令来手动进行容器和镜像的备份,但却不能做到实时备份。卷就是目录或文件,存在于一个或者多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过联合文件系统而提供一些用于存储或共享数据的特性。因此容器卷的本质就是。将本地和Docker容器内的数据进行关联和共同,实现实时更新和备份。将容器内的数据同步保存到宿主机的磁盘中,实现数据的持久化。原创 2023-02-04 22:57:39 · 517 阅读 · 0 评论 -
Docker - 11. 本地镜像发布到私有库
如果涉及到公司机密文件,使用DockerHub、阿里云这样的公共镜像仓库就不合适,所以需要创建一个本地私人仓库提供给团队使用,基于公司内部项目构建镜像。默认情况下仓库被创建在容器的/var/lib/registry目录下,建议用容器卷映射,方便于宿主机联调。11. 通过新镜像进入容器,看是否能够使用 ifconfig 命令,如果显示如下命令,则往私服库推送和拉取镜像成功。9. 将新镜像使用push命令推送到私服库,并使用curl命令验证私服库镜像。10. 删除本地新镜像,并从私服库拉取镜像。原创 2023-02-04 16:39:28 · 894 阅读 · 0 评论 -
Docker - 10. 本地镜像发布到阿里云
登录成功如下图所示,我们将镜像 ubuntu_addvim 推送到阿里云仓库。7. 上述完成,点击下一步,进入如下界面,选择本地仓库,点击创建镜像仓库。5. 打开“镜像仓库”,选择刚创建的命名空间,然后点击“创建镜像仓库”6. 点击创建镜像仓库,填写下面红框信息,并设置仓库类型为 “公开”注意:红框里的仓库名称就是自己要上传和拉取的镜像名字,不要弄错!8. 创建成功后,有如下界面,具体上传镜像,使用如下命令即可。3. 创建个人实例,未创建前如下图1,创建后见下图2。原创 2023-02-03 19:31:34 · 679 阅读 · 0 评论 -
Docker - 8. Docker镜像底层与commit新镜像
Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数。镜像在构建之后其内容不会被改变。定义:UnionFS 是 Docker 镜像的基础,本质是一种分层、轻量级并且高性能的文件系统。特点:[1] 它支持对文件系统的修改作为一次提交来一层层的叠加。[2] 可以将不同目录挂载到同一个虚拟文件系统下。[3] 镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。分层存储使得原创 2023-02-03 11:43:49 · 701 阅读 · 0 评论 -
Docker - 4. Docker 帮助启动类命令
1. 启动 docker:systemctl start docker2. 停止 docker:systemctl stop docker3. 重启 docker:systemctl restart docker4. 查看 docker 状态:systemctl status docker5. 保持开机自动启动:systemctl enabl6.显示 docker 版本信息:docker version7.显示 docker 系统信息9. 查看 docker 命令帮助文档原创 2023-02-01 22:21:03 · 333 阅读 · 0 评论 -
Docker - 2. Docker 工作原理
(1) Docker是一个Client-Server结构的系统,Docker守护进程(图中Docjer daemon)运行在主机上,然后通过Socket链接客户端往返,守护进程从客户端接收命令并管理在主机上的容器。(2) 对于Docker客户端(图中Docker_Client),可以通过 docker build, docker pull和docker run等命令与守护进程进行通讯,并发送请求给后者,从而进行docker容器的打包,拉取和运行。(3) 在主机上通过镜像Images生成容器,然后原创 2023-02-01 18:31:00 · 407 阅读 · 0 评论 -
Docker - 7. 其他常用命令 docker run -d、logs、top 、inspect、exec 、attach、cp、export、import
注意:通过后台启动容器,就必须要有一个前台进程,否则会导致该容器自动退出。因为docker容器运行必须有一个前台进程执行, 如果没有前台进程,容器认为空闲,如果容器运行的命令不是那些一直挂起的命令(eg. 运行top,tail等),则会自行退出。语法:docker logs [选项] 容器 【其中容器可以用名字也可以用容器id】语法:docker inspect 容器。语法:docker top 容器。原创 2023-01-31 19:49:16 · 417 阅读 · 0 评论 -
Docker - 6. 容器常用命令 docker run、ps、exit、rm、start、restart、stop、kill
当启动并进入容器时,左侧变成了容器id,通过ls可以查看容器内的centos。(2) dcoker run 和 docker start的区别。容器是基于镜像创建的, 即容器中的进程依赖镜像中的文件。语法:docker run [可选参数] image。示例:新建一个centos容器,启动并进入容器。(1) -p ip:主机端口:容器端口。(2) -p 主机端口:容器端口(常用)镜像是个文件,容器是由镜像实例化而来的。语法:docker ps [选项](1) 镜像和容器的关系。(3) -p 容器端口。原创 2023-01-31 11:44:35 · 2298 阅读 · 0 评论 -
Docker - 5. 镜像常用命令 docker images、search、pull、system df 、rmi
1. 帮助命令docker version # 显示Docker版本信息docker info # 显示Doc2. 镜像命令【1】docker images [选项]:查看所有镜像、仓库、标签和大小【2】docker search [选项] 镜像名字:在 Docker Hub 中搜索镜像【3】docker pull 镜像名字[:tag]:下载镜像,tag为指定的版本【4】docker rmi [选项] 镜像:删除指定镜像原创 2023-01-30 23:37:27 · 1409 阅读 · 0 评论 -
Docker - 3. Ubuntu安装Docker
(11) 通过运行hello-world镜像来验证Docker,具体步骤为一开始找不到这个镜像,然后就去远程镜像仓库拉取hello-world镜像,如果拉取成功,则显示Docker可以正常工作。(6) 安装Docker相关内容,安装过程较慢。(4) 添加 Docker 的 GPG 密钥(将默认地址的更换成阿里云的地址)(5) 设置远程镜像仓库(同理,将默认国外的更新成阿里云镜像,会快)(1) 卸载旧版本Docker,如果之前没有安装,则无需执行。(12) 查看一下刚才拉取的镜像。(7) 启动Docker。原创 2023-01-28 00:10:55 · 342 阅读 · 0 评论 -
Docker - 1. Docker简介
Docker 是一个开源的应用容器引擎,可以打包应用及依赖包到一个可移植的容器中,从而发布到任何机器上容器是完全使用沙箱机制,相互之间相互独立,不会影响。1. 能够进行更快的交付和部署,即打包镜像发布测试,一键运行2. 更便捷的升级和扩容3. 更简单的系统运维,使开发和测试环境高度一致4. 更高效的计算资源利用:Docker是内核级别的虚拟化,可以在一个物理机上运行多个容器实例,将服务器的性能运用到极致原创 2023-01-27 17:37:47 · 741 阅读 · 2 评论 -
Linux常见命令 26 - RPM包管理-yum在线管理
yum操作RPM包相对于手工操作来说简单方便,减少了逐层安装依赖包的过程。yum都可以直接进行所有包的安装,流程简单。yum 源既可以使用网络yum源,也可以将本地光盘作为yum源。1.网络yum源。2. 常用yum命令。3. yum软件包组管理命令原创 2023-01-26 23:47:18 · 655 阅读 · 0 评论 -
Linux常见命令 25 - RPM包安装、升级、卸载、查询、校验、提取
RPM包安装、升级、卸载、查询、校验、提取1. 包名与包全名包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径包名:操作已经安装的软件包时,使用包名。是搜索 /var/lib/rpm/ 中的数据库。注意:当安装包时,需要写包全名。但是当查询和卸载已经安装的包时,不需要写完整路径和全名,因为他会自动到 /var/lib/rpm/ 路径下查找,只需要写包名即可。原创 2023-01-26 12:11:20 · 5938 阅读 · 0 评论 -
Linux常见命令 24 - RPM命名管理-包命名与依赖性
1. 如安装mysql-connector的时候需要红框 libodbcinst.so.2这个依赖库,但库依赖包不是单独存在的,它是某一个软件包内部的一个文件,所以只需要找到包含库的软件包即可。如包全名:httpd-2.2.15-15.e16.centos.1.i686.rpm。2. 具体就直接去模块依赖网址里面搜索: www.rpmfind.net。原创 2023-01-26 11:17:02 · 1152 阅读 · 0 评论 -
Linux常见命令 23 - 软件包分类
Linux软件包包括源码包 / 脚本安装包(install.sh),二进制包(Red Hat系列的RPM包,Debian的deb包)。源码包特点【优点】开源,如果有足够的能力可以修改源代码可以自由选择所需要的功能软件是先编译再安装,更加适合自己的系统,稳定且效率高卸载方便 (把源码包在的安装文件直接删除)【缺点】安装过程步骤较多,尤其是安装较大软件集合时,容易出现拼写错误编译时间较长,安装比二进制安装多了一步编译过程,所以时间长安装过程一旦报错,新手很难解决原创 2023-01-25 23:47:50 · 969 阅读 · 0 评论 -
Linux常见命令 22 关机重启命令
功能描述:是指操作系统当前正在运行的功能级别。在我们使用的Linux系统中,一共定义了7中运行级别,从0到6,每一种运行级别都具有不同的功能,用户可以自己定义不同级别的默认服务。示例:【注:在关机重启之前需要关闭所有服务,shutdown相对于其他关机和重启命令来说更加常用】命令:init N (N取值为 0 1 2 3 4 5 6)语法:shutdown [选项] 时间。原创 2023-01-25 18:56:23 · 1396 阅读 · 0 评论 -
Linux常见命令 21 - 网络命令 ping、ifconfig、last、lastlog、traceroute、netstat
网络常用命令 ping、ifconfig、last、lastlog、traceroute、netstat原创 2023-01-25 12:35:49 · 3989 阅读 · 0 评论 -
Linux常见命令 20 - 压缩解压命令
压缩语法:zip [-r] [压缩后文件名] [文件 / 目录],其中 -r 表示压缩目录。解压缩语法:bunzip2 [-k] [压缩文件],其中 -k 表示解压缩后保留原文件。压缩语法:bzip2 [-k] [待压缩文件],其中 -k表示产生压缩文件后保留原文件。注意事项:① gzip只能压缩文件,不能压缩文件夹 ② 压缩后不会保留源文件。tar命令解压缩语法:tar [-zxfv] [解压文件名]语法:tae [-zcfv] [压缩后文件名] [目录]解压文件语法:gunzip [压缩文件]原创 2023-01-24 19:54:14 · 3378 阅读 · 0 评论 -
3. Shell内置命令和外部命令
【1】定义:Linux系统为了提高系统运行效率,将经常使用的轻量的命令在系统启动时一并加载到内存中供Shell随时调用,这部分命令称为内部命令,如 cd、exit、echo等。语法:type [参数] [命令] ,即 type [-a | -t | -p] name 或 type [-all | -type | -path] name。【1】定义:外部命令是linux系统中独立的外部可执行程序,如ls等。原创 2023-01-24 14:05:10 · 1931 阅读 · 0 评论 -
Linux常见命令 8 - 其他文件搜索命令 locate, which, whereis, grep
② locate命令找不到/tmp下的文件和目录,因为/tmp下的文件或命令没有收录到locate维护的资料库中,所以尽管执行updatedb命令也找不到。【2】功能:查找命令所在目录以及执行的文件类型路径,包括 二进制文件(参数- b),man说明文件 (参数 -m) 和源代码文件(参数 -s),查找不包含指定类型的文件 (参数 -u)。【3】原理:并不是遍历整个分区/硬盘,而是建立了一个文件资料库,该资料库可以定期更新,查找时只在资料库内查找,能够降低资源消耗,相对find来说查找速率极快。原创 2023-01-24 11:32:27 · 1390 阅读 · 0 评论 -
Linux常见命令 7 - 文件搜索命令 find
1. 按照名字查找语法:find [路径] -name "查找条件"。其中查找条件可以使用通配符 *?和 []【1】默认为搜索,如 find ./ -name "hello",为查找当前目录下名字为hello的文件【2】* :用*取代任何字符串,包括空串。如:find ./ -name "*.txt" ,查找以txt结尾的所有文件。【3】?:【用于取代单个字符】如:find ./ -name "test?.txt" ,为查找当前目录下以file为前缀,后缀为一个字符的txt文件。原创 2022-06-19 11:56:57 · 2588 阅读 · 0 评论 -
Linux常见命令 18 - 用户管理命令 useradd, passwd, who, w
w和who的区别是,w显示的信息更加详细,除了显示who命令的信息之外,还能够显示其他详细信息,如 IDLE,JCPU,PCPU,WHAT。注意:每个用户只能用passwd更改自己的密码,但是要遵守密码设置规范,如果过于简单或者为单词,将不被允许。但是root可以更改任何人的密码。显示结果: 用户名 - 终端标识 - 登录时间 (登录ip)其中对于终端标识:tty 标识本地终端,pts表示远程终端。语法:useradd [用户名]语法:passwd [用户名]原创 2023-01-23 21:10:04 · 1476 阅读 · 0 评论 -
Linux常见命令 17 - 帮助命令 man,whatis,--help,info,help
【注意】由于配置文件不能写路径,所以当一个名词它既是命令,又是配置文件的时候,使用man命令会默认执行命令。该命令与man命令大同小异,只不过是内容的一些显示方式多有不同,语法为:info [命令]如果觉得man命令显示太长,whatis命令可以直接读取命令的name属性信息,如下。[3] 注意:内置命令的帮助信息的查看只能使用 help,使用 man则报错。[1] Shell内置命令和外部命令的区别,可看文章?[2] help命令语法:help [命令]语法为: [命令] --help。原创 2023-01-23 12:33:00 · 2942 阅读 · 0 评论 -
Linux常见命令 16 - 权限管理命令 chown, chgrp, umask
0002中的第一个0表示特殊权限,则002对应到rwx为:--- --- -w-,然后用对应的rwx与777(即 rwx rwx rwx)做逻辑与操作,则得到 rwx rwx r-x作为最终的结果,也就是umask [-S]中显示的结果。与 rwx rwx rwx (777)进行逻辑与操作,能够得到想要穿件目录的默认权限 rwx --- ---(700),所以直接设置umaks权限值为 077,代码如下】如果想要创建目录的默认权限为 700(即rwx --- ---),则与777进行的操作权限为。原创 2023-01-21 19:50:06 · 1736 阅读 · 0 评论 -
Linux常见命令 15 - 权限管理命令 chmod
因此能够删除目录下某一文件的前提并不是对该文件有写权限,因为对该文件的写权限只是可以修改文件内容,递归更改dir文件极其子文件的权限均为 rwx,用 chmod -R 777 dir1,可看到权限均发生了变化。执行 chmod u+x hello.txt,为所有者增加可执行权限,权限更新为:-rwxrw-r--通过下图可知,dir1的权限为 rwxrwxr-x,两个txt文件的权限为 rw-rw-r--初始化,只包含一个hello.txt文件,且权限为:-rw-rw-r--最常用的是这种方式。原创 2023-01-20 13:09:03 · 4049 阅读 · 0 评论 -
Linux常见命令 14 - 软/硬连接命令 ln
目前Linux中比较常用的是软连接,硬连接不常用,掌握基本的软连接常识即可。1. 软连接就类似于windows的快捷方式,在MobaXterm中可视化为一个小箭头2. 链接文件前面的标识均为:lrwxrwxrwx。其中l标识链接,三种用户均为最高级别 rwx链接的文件大小只为符号链接大小,与源文件大小无关3. 上面代码段中最后一行展示的文件为:hello.txt.soft -> hello.txt,箭头指向源文件4. 如果源文件丢失,软连接也就不能访问了原创 2023-01-19 22:34:59 · 2603 阅读 · 0 评论