分类: 技术

  • CentOS 8 更换yum国内源

    centos7和centos8的版本不同,个人在实践当中发现centos7更换yum源的配置方法在centos8当中并不适用,以下为个人实现centos8配置国内yum源过程:

    操作的主要思路为:

    • 在不删除源文件的基础上,将源文件备份
    • 下载最新centos8国内的yum源文件
    • 更换地址

    主要实现的代码如下:

    •   进入root,切换至yum.repos.d目录
    • cd /etc/yum.repos.d/
    •   创建新文件夹并将源文件备份为repo.bak
    • mkdir backup && mv *repo backup/
    •   下载国内yum源文件
    • curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
    •   更新下载yum源地址
    • sed -i -e"s|mirrors.cloud.aliyuncs.com|mirrors.aliyun.com|g " /etc/yum.repos.d/CentOS-*
    • sed -i -e "s|releasever|releasever-stream|g" /etc/yum.repos.d/CentOS-*
    •   生成缓存
    • yum clean all && yum makecache
  • Centos7 安装nginx

    安装步骤

    1、添加源   默认情况Centos7中无Nginx的源,最近发现Nginx官网提供了Centos的源地址。因此可以如下执行命令添加源:

    rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

    2、安装Nginx 通过yum search nginx看看是否已经添加源成功。如果成功则执行下列命令安装Nginx。

    yum install -y nginx

    3、启动Nginx并设置开机自动运行

    sudo systemctl start nginx
    sudo systemctl enable nginx

    4、浏览查看效果

    浏览器输入:127.0.0.1,当看到下周所示内容代表安装成功。

    5、其他配置项

    1、修改nginx服务启动者

    vim /etc/nginx/nginx.conf

    在前10行中进行查找 user nginx; 修改为user root;

    这一步的目的是为了让nginx服务拥有root权限,因为有些时候会出现403错误码

    Nginx常用命令

    nginx -t

    检查配置文件是否正确,在每次修改nginx配置后执行命令进行查看。

    nginx -s reload

    这个命令大家肯定非常熟悉,重启nginx服务。

  • 清理或删除docker无用镜像的操作方法

    目录清除docker无用镜像一、查看docker占用的资源二、只删除那些未被使用的资源1、通过标签删除镜像2、通过ID删除镜像3、删除镜像的限制4、清理镜像PS:docker批量删除无用的容…

    目录

    清除docker无用镜像
    一、查看 docker 占用的资源
    二、只删除那些未被使用的资源
    1、通过标签删除镜像
    2、通过 ID 删除镜像
    3、删除镜像的限制
    4、清理镜像
    PS:docker 批量删除无用的容器或镜像

    清除docker无用镜像

    一、查看 docker 占用的资源

    在进行资源清理之前我们有必要搞清楚 docker 都占用了哪些系统的资源。这需要综合使用不同的命令来完成。

    docker container ls:默认只列出正在运行的容器,-a 选项会列出包括停止的所有容器。

    docker image ls:列出镜像信息,-a 选项会列出 intermediate 镜像(就是其它镜像依赖的层)。

    docker volume ls:列出数据卷。

    docker network ls:列出 network。

    docker info:显示系统级别的信息,比如容器和镜像的数量等。

    通过这些命令查看 docker 使用的资源情况后,相信你已经决定要清理 docker 占用的一些资源了!让我们先从那些未被使用的资源开始。

    二、只删除那些未被使用的资源

    Docker 提供了方便的 docker system prune 命令来删除那些已停止的容器、dangling 镜像、未被容器引用的 network 和构建过程中的 cache:

    $ docker system prune

    使用以下命令清理已经停止运行的docker容器

     docker rm $(docker ps --all -q -f status=exited)

    1、通过标签删除镜像

    通过如下两个都可以删除镜像:

    docker rmi [image]

    或者:

    docker image rm  [image]

    支持的子命令如下:-f, -force: 强制删除镜像,即便有容器引用该镜像;
    -no-prune: 不要删除未带标签的父镜像;

    2、通过 ID 删除镜像

    除了通过标签名称来删除镜像,我们还可以通过制定镜像 ID, 来删除镜像,如:

    docker rmi ID

    一旦制定了通过 ID 来删除镜像,它会先尝试删除所有指向该镜像的标签,然后在删除镜像本身。

    3、删除镜像的限制

    先删除引用这个镜像的容器;
    再删除这个镜像;

    也就是,根据上图中提示的,引用该镜像的容器 ID, 执行删除命令:

    docker rm  ID

    然后,再执行删除镜像的命令:

    docker rmi ID

    4、清理镜像

    我们在使用 Docker 一段时间后,系统一般都会残存一些临时的、没有被使用的镜像文件,可以通过以下命令进行清理:

    docker image prune

    它支持的子命令有:-a, --all: 删除所有没有用的镜像,而不仅仅是临时文件;
    -f, --force:强制删除镜像文件,无需弹出提示确认;

    PS:docker 批量删除无用的容器或镜像

    docker rm `docker ps -a | grep Exited | awk ‘{print $1}’`   删除异常停止的docker容器

    docker rmi -f  `docker images | grep ‘<none>’ | awk ‘{print $3}’`  删除名称或标签为none的镜像

    到此这篇关于清除或删除docker无用镜像的操作方法的文章就介绍到这了,更多相关docker清理删除无用镜像内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • pve 安装

    镜像下载地址:Index of /proxmox/iso / | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

    1.删除local-lvm

    lvremove pve/data
    
    lvextend -l +100%FREE -r pve/root

  • docker 一键安装脚本

    Docker 官方为了简化安装流程,提供了一套安装脚本,Ubuntu 和 Debian 系统可 以使用这套脚本安装:

    curl -sSL https://get.docker.com/ | sh

    DaoCloud 的安装脚本(推荐)

    curl -sSL https://get.daocloud.io/docker | sh

    阿里云的安装脚本

    curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

    推荐使用

    bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/DockerInstallation.sh)
    
  • Linux查看进程是否存在及启动或重启

    Linux下的shell 没有系统的学习过,不过经常会用到,如果一直知其然而不知其所以然,过后还是会忘。

    ps -ef | grep java

    此处主要用到一个命令PS

    关于ps的参数非常多,这里主要说三个, -a -e -f

    -a : 显示所有进程

    -e : 此参数的效果和指定“A”的参数相同

    -f: 显示UID,PPID,C与STIME 栏位

     然后要用到 grep命令

    grep是查找,是一种强大的文本搜索工具,他能使用正则表达式搜索文本,并把匹配的行打印出来

    中间的 | 是管道命令,是批 ps 与 grep 同时执行

    #!/bin/bash
    #判断进程是否存在,如果不存在就启动它
    PIDS=`ps -ef |grep myprocess |grep -v grep | awk '{print $2}'`if [ "$PIDS" != "" ]; then
    echo"myprocess is runing!"
    else
    cd /root/./myprocess
    
    #运行进程
    fi
  • PVE7 PveTools工具的安装和使用(PVE必备工具)

    安装:
    1.先删除企业源:
    rm /etc/apt/sources.list.d/pve-enterprise.list

    2.安装

    export LC_ALL=en_US.UTF-8
    apt update && apt -y install git && git clone https://gitee.com/houlijiang/pvetools.git
    
    

    3.启动工具(cd到目录,启动工具)
    cd /etc/apt/pvetools
    ./pvetools.sh

    卸载
    删除下载的pvetools目录即可

    说明:
    启动后的第一个界面,就是图1
    这里的选择语言只是选择PveTools的语言,不会影响系统语言设置

    然后就是方便的设置各种功能

  • PVE 无法关机或删除

    在日常使用PVE搭建虚拟机的使用过程中,偶尔会出现虚拟机假死无法关闭的情况并提示TASK ERROR: VM quit/powerdown failed – got timeout显示关闭推出无反应超时,通过查找学习可以使用以下办法强制关闭假死的虚拟机。

          1、选中右侧pve,点击左上方shell,打开ssh控制台,通过ps命令查到对应虚拟机的VM进程号。

    ps -ef|grep "/usr/bin/kvm -id 100" |grep -v grep
    

      2、这里可以看到100的虚拟机的进程号是3995679,此时使用kill 3995679命令强制结束进程,稍等片刻就会发现该虚拟机已经停止运行了

  • docker-compose的网络networks的使用技巧

    1. 介绍

    1.1 介绍

    前面福哥通过一篇《docker-compose学习笔记》带着大家把docker-compose的基础知识简单的学习了一番,之所以我们使用docker-compose而不是自己用docker去搞是因为docker-compose给我们提供了很多便利的功能,这些功能可以让我们更好的理解使用Docker部署服务器环境时候的一些对象的概念和特点。

    docker-compose的service概念非常好,可以让我们把一个一个的容器抽象成一个一个的服务,每个服务之间存在了一定的关系,我们可以通过service的名称组织服务之间的关系而不用去关心服务背后的容器。

    有些时候我们希望一些服务只能被一组特定的服务访问,这个时候使用只依靠默认的网络就行不通了,那么我们就需要根据自己的情况搭建我们的服务组的网络架构,就会用到docker-compose的networks功能了。

    2. 类型

    2.1 default

    默认情况下docker-compose会建立一个默认的网络,名称为docker-compose.yml所在目录名称小写形式加上“_default”,我们的TFLinux环境就是“tflinux_default”。

    这个默认网络会对所有services下面的服务生效,所以services下面的各个服务之间才能够通过service名称互相访问。

    如果要自定义默认网络可以针对“default”网络进行设置,这样就会影响导默认网络了。

    networks:
    
      default:
        driver: bridge

    2.2 自定义

    除了默认网络之外,我们也可以建立自定义的网络,这个网络名称就比较随意了。

    networks:
    
      persist:
        driver: bridge

    2.3 已存在网络

    有时候我们想使用我们通过docker network create创建好的网络,而不是让docker-compose创建一个新的,这个时候就需要用到“external”关键字了。

    networks:
    
      persist:
        external:
          name: bridge2

    3. 案例

    3.1 所有服务互通

    要实现这个就非常容易了,因为有默认网络的存在,所以我们什么都不配置,在services下面的服务的容器里面都可以通过service名称访问其端口,前提是service需要通过ports发布它的端口出来。

    services:
    
      # mysql
      mysql:
        build:
          dockerfile: Dockerfile
          context: ./image/mysql5.7
        container_name: mysql
        image: tflinux-mysql5.7
        networks:
          - default
          - persist
        volumes:
          - /tongfu.net/env/mysql-5.7.28/data/:/var/lib/mysql/
        restart: always

    3.2 宿主机访问服务端口

    通过docker-compose的默认网络就可以在宿主机上面访问服务的端口,但是docker-compose的默认网段是每次都会变化的。要想解决这个问题就只能通过在宿主机上面建立一个固定网段的网络,然后指定服务的网络为这个已经存在的网络,这样宿主机就可以通过这个网络的网关访问服务的端口了。

    创建固定网段的网络bridge2。

    docker network create --subnet=10.16.1.0/16 --gateway=10.16.1.1 --opt "com.docker.network.bridge.name"="bridge2" bridge2

    把bridge2网络配置导docker-compose里面。

    networks:
    
      default:
        driver: bridge
    
      persist:
        external:
          name: bridge2

    给需要放开的服务增加default、persist两个网络。

    注意:因为我们指定了persist特殊网络,所以default默认网络就自动失效了,如果需要使用default网络需要显性地指定下。

    services:
    
      # mysql
      mysql:
        build:
          dockerfile: Dockerfile
          context: ./image/mysql5.7
        container_name: mysql
        image: tflinux-mysql5.7
        networks:
          - default
          - persist
        volumes:
          - /tongfu.net/env/mysql-5.7.28/data/:/var/lib/mysql/
        restart: always

    3.3 服务访问宿主机端口

    首先福哥不提倡这样使用,因为宿主机被访问是一种很危险的行为!

    如果一定要访问宿主机的端口,可以通过服务网络的网关IP地址实现,前提是宿主机的端口绑定的是全部IP地址。

    4. 总结

    今天童鞋们跟着福哥对docker-compose的networks有了一个了解,使用networks搭建复杂的应用服务组,即安全,又方便。

  • 虚拟化平台PVE(ProxmoxVirtual Environment)安装部署

    Get the free Proxmox VE ISO installer

    PVE是一个完整的企业虚拟化开源平台。通过内置的web界面,可以轻松地管理虚拟机和容器、软件定义的存储和网络、高可用性集群和多个开箱即用的工具。

    官方:Proxmox – Powerful open-source server solutions

    部署前准备

    1.下载镜像,并刻录到U盘,然后安装到物理硬件设备上面 

    打开下载页面 Get the free Proxmox VE ISO installer

     目前最新是7.2版本,直接下载镜像,或者下载种子,然后通过迅雷解析下载,毕竟在国内,迅雷下载速度还是很快的

    2.下载刻录工具,本次使用的是开源软件 rufus工具,下载地址如下 https://github.com/pbatard/rufus/releases/tag/v3.20

    刻录U盘

     部署

    在物理设备上,插入U盘,开机选择从U盘启动即可 

     错误信息提示,服务器未开启虚拟化,需要先开启虚拟化,才可以继续下面步骤

     正常执行步骤

     安装完成,进行web访问

     在浏览器输入服务器的ip:8006 进行访问

     接下来,就可以配置存,上传镜像,进行虚机创建操作了

    文章知识点与官方知识档案匹配,可进一步学习相关知识