微信公众号运营模式/黄山seo

微信公众号运营模式,黄山seo,网站建设方案备案,dw个人网站模板1.为什么使用docker 如果开发环境和测试环境的允许软件版本不一致,可能会导致项目无法正常启动 把环境和项目一起打包发送给测试环境 1.1docker的概念 开源的应用容器引擎,完全使用沙箱机制,相互隔离,容器性能开销极低 一种容…

1.为什么使用docker

如果开发环境和测试环境的允许软件版本不一致,可能会导致项目无法正常启动

把环境和项目一起打包发送给测试环境

1.1docker的概念

开源的应用容器引擎,完全使用沙箱机制,相互隔离,容器性能开销极低

一种容器技术,解决软件跨环境迁移的问题

1.2安装


#2、安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、设置yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#4、安装docker ,出现输入的界面都按y  ce社区版---学习够了,   ee版企业版收费
yum install -y docker-ce
# 5、查看docker版本,验证是否验证成功
docker -v

上面无法安装可采取

# step 1: 安装必要的一些系统工具
 yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
 sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
 yum makecache fast


 yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

 

1.3设置docker镜像地址

sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://do.nark.eu.org",
        "https://dc.j8.work",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

2.常用命令

启动docker服务  systemctl start docker

停止docker服务 systemctl stop docker 重启docker服务 systemctl restart docker

查看docker服务状态 systemctl status docker

开机启动dockeh服务 systemctl enable docker

查看docker命令帮助文档: docker 具体命令 --help

2.2镜像命令

查看本地镜像:   docker images 

搜索镜像 远程仓库的   docker search redis

拉取镜像  docker pull redis:6.0  冒号后跟的是版本号,如果不跟默认latest

根据id删除
docker rmi id
根据名称:版本号删除
docker rmi redis:6.0
-------------------------------------------------------
删除没有开启容器的镜像

删除所有镜像
docker images q --查询所有镜像的id
docker rmi (docker images q)

2.3容器命令

1.创建容器

-i :交互

-t:给容器分配伪终端接受命令    如果使用exit则退出容器,容器会被关闭

--name:给容器起名字

redis:latest:镜像加版本号

/bin/bash 进入容器的初始化指令  这里相当打开了一个shell窗口

 2.查看容器

docker ps --查看正在运行的容器
docker ps -a --查看所有容器

3.创建一个容器但不进入容器

docker run -id --name=c_redis02 redis:latest /bin/bash

这种创建的容器退出后不会自动关闭

4.进入正在运行的指定容器内

docker exec -it c_redis02 /bin/bash

5.启动容器

docker start 容器名|id

6.关闭容器

docker stop 容器名

7.删除容器

docker rm 容器id #只删除未启动的容器

docker rm -f 容器id||名称 #删除任何容器

docker ps -aq #查看所有容器的id

查看容器信息 docker inspect 容器名|id

输出当前容器日志信息---知道容器启动失败的原因  docker logs 容器id

3.Docker容器卷

1.容器被删除后,里面的数据不会存在

2.外界不能与容器直接交互,可以与宿主机交互,宿主机与容器交互

3.容器与容器之间可以共享文件

3.1数据卷的概念

数据卷是宿主机中的一个目录或文件
当容器目录和数据卷目录绑定后对方的修改会立即同步
一个数据卷可以被多个容器同时挂载
一个容器也可以被挂载多个数据卷
作用:
1.解决数据持久化问题
2.解决外部机器和容器的间接通讯问题
3.解决容器之间的数据交换

3.2创建数据卷

docker run -id --name=容器名 -v /宿主机目录:/容器中的目录 镜像名:版本号 /bin/bash

-v :挂载数据卷

docker run -id --name=c1 -v /aaa:/c_aaa redis:latest /bin/bash

4.Docker应用部署

4.1 Docker部署mysql

1. 拉取mysql镜像---docker pull mysql:8.0
2. 创建一个mysql目录。mkdir/root/mysql
3. 进入/root/mysql
4. 创建mysql容器。

 docker run -d --name=mysql01 -p 3307:3306 -v /usr/docker/mysql/log:/var/log/mysql \
 -v /usr/docker/mysql/data:/var/lib/mysql -v /usr/docker/mysql/conf:/etc/mysql/conf.d \

 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0


介绍参\数:

  • -p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口。

    • -v /ykq/mysql/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录

    • -v /ykq/mysql/log:/var/log/mysql:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录

    • -v /ykq/mysql/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录

    • -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

 4.2安装tomcat

docker pull tomcat

创建容器,设置端口映射、目录映射

mkdir ~/tomcat
cd ~/tomcat

docker run -id --name=c_tomcat --restart=always \
 -p 8089:8080 \
 -e TZ=Asia/Shanghai \
 -v /usr/docker/tomcat/webapps:/usr/local/tomcat/webapps \
 tomcat:10

4.3部署nginx

拉取镜像docker pull nginx

创建容器,设置端口映射、目录映射

# 在/root目录下创建nginx目录用于存储nginx数据信息
mkdir /usr/docker/nginx
cd  /usr/docker/nginx
mkdir conf
cd conf
# 在~/nginx/conf/下创建nginx.conf文件,粘贴下面内容
vim nginx.conf

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
worker_connections  1024;
}


http {
include       /etc/nginx/mime.types;
default_type  application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
          '$status $body_bytes_sent "$http_referer" '
          '"$http_user_agent" "$http_x_forwarded_for"';

access_log  /var/log/nginx/access.log  main;

sendfile        on;
#tcp_nopush     on;

keepalive_timeout  65;

#gzip  on;

include /etc/nginx/conf.d/*.conf;
}

docker run -p 80:80 \
-d --name=nginx \
-v /usr/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/docker/nginx/html:/usr/share/nginx/html \
nginx:latest

4.4redis部署

docker pull redis

 docker run -id --name=redis01 -p 6379:6379 redis:latest

5.自定义镜像

5.1 镜像制作

自定义镜像:提供了两种方式: 第一种:基于容器来制作 第二种: 通过dockerfile文件来制作[重要]

操作系统组成部分:
进程调度子系统
进程通信子系统
内存管理子系统
设备管理子系统
文件管理子系统
网络通信子系统
作业控制子系统

1. Docker镜像本质是什么?
·是一个分层文件系统
2. Docker中一个centos镜像为什么只有200MB,而一个centos操作系统的iso文件要几个个G?
·Centos的iso镜像文件包含bootfs和rootfs,而docker的centos镜像复用操作系统的bootfs,只有rootfs和其他镜像层
3. Docker中一个tomcat镜像为什么有500MB,而一个tomcat按装包只有70多MB?
·由于docker中镜像是分层的,tomcat虽然只有70多MB,但他需要依赖于父镜像和基础镜像,所有整个对外暴露的tomcat镜像大小500多MB

拉jdk

docker pull openjdk:8

创建镜像

 docker commit bb016ec9269e aaa_tomcat:1.0

打包镜像

docker save -o aaa_tomcat.tar aaa_tomcat:1.0

删除镜像docker rmi aaa_tomcat:1.0

解压打包的镜像docker load -i aaa_tomcat.tar

创建容器 docker run -it --name=aaa_tomcat aaa_tomcat:1.0 /bin/bash

重新运行自定义的镜像,挂载文件会失效,其他目录下的文件还会存在

5.3dockerfile的概念[重要]

  • Dockerfile是一个文本---任意一个镜像都是通过dockerfile来制作。MySQL redis tomcat等 项目

  • 文件包含了一条条的指令。

  • 每一条指令构建一层,基于基础镜像,最终构建出一个新的镜像

  • 对于开发人员:可以为开发团队提供一个完全一致的开发环境

  • 对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作了

  • 对于运维人员:在部署时,可以实现应用的无缝跨平台移植。

5.3.1Dockerfile关键字

案例1

准备

docker pull centos:7

docker run -id --name=centos7 centos:7

docker exec -it centos7 /bin/bash     容器中vim不可用

文件里面的内容

FROM centos:7
MAINTAINER xxx <xxx@qq.com>
RUN yum install -y vim
WORKDIR /usr
CMD ["/bin/bash"]

————————————————————————上面不能用的话使用下面的

FROM centos:7 
MAINTAINER xxx<xxxx@qq.com>
 
ENV MYPATH /usr
WORKDIR $MYPATH
 
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
RUN yum makecache
 
RUN yum -y install vim
RUN yum -y install net-tools
 
EXPOSE 80
 
CMD echo $MYPATH
CMD echo "============"
CMD /bin/bash

构建镜像

docker build -f centos_dockerfile -t abc_centos:1.0 .

-f:表示dockerfile文件
-t: 镜像名称版本号 
.   (点): 必须加上

创建容器vim可用

案例2

将打包好的jar文件拖进去,并创建

FROM openjdk:17
MAINTAINER xxx <xxxx@qq.com>
ADD demo05.jar app.jar
CMD java -jar app.jar

  根据dockerfile制作镜像

docker build -f demo_dockerfile -t app:1.0 .

启动并做端口映射

docker run -id --name=app05 -p 9001:8080 app:1.0

6.Docker服务编排

6.1 概述

docker建议我们每一个容器中只运行一个服务,因为docker容器本身占用资源极少,所以最好是将每个服务单独的分割开来但是这样我们又面临了一个问题?[微服务100---dockerfile----镜像---运行为容器]

如果我需要同时部署好多个服务,难道要每个服务单独写Dockerfile然后在构建镜像,构建容器,这样累都累死了,所以docker官方给我们提供了docker-compose多服务部署的工具.--服务编排

Compose允许用户通过一个单独的docker-compose.yml模板文件[你写](YAML 格式)来定义一组相关联的应用容器为一个项目(project)。

可以很容易地用一个配置文件定义一个多容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。Docker-Compose 解决了容器与容器之间如何管理编排的问题。

6.2 Docker Compose 安装使用

 # Compose目前已经完全支持Linux、Mac OS和Windows,在我们安装Compose之前,需要先安装Docker。下面我 们以编译好的二进制包方式安装在Linux系统中。 
#curl -L https://mirrors.tuna.tsinghua.edu.cn/docker-compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 设置文件可执行权限 
chmod +x /usr/local/bin/docker-compose
# 查看版本信息 

docker compose version

springboot+nginx编排

1.创建docker-compose目录

mkdir ~/docker-compose
cd ~/docker-compose

2.打包springboot工程

3编写 docker-compose.yml 文件

services:
  nginx:
    image: nginx
    ports:
      - 80:80
    links:
      - app05
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d
  app05:
    image: app:1.0
    expose:
      - "8080"
version: "3.9"

 4.mkdir -p nginx/conf.d

在里面加一个ngin.conf文件

server {
        listen  80;
        access_log off;

        location / {
            proxy_pass http://app05:8080;
        }
}

5.启动容器 

docker compose up

6.3创建私有仓库

# 1、拉取私有仓库镜像 
docker pull registry
# 2、启动私有仓库容器 
docker run -id --name=registry -p 5000:5000 registry
# 3、打开浏览器 输入地址http://私有仓库服务器ip:5000/v2/_catalog,看到{"repositories":[]} 表示私有仓库 搭建成功
# 4、修改daemon.json   
vi /etc/docker/daemon.json    
# 在上述文件中添加一个key,保存退出。此步用于让 docker 信任私有仓库地址;注意将私有仓库服务器ip修改为自己私有仓库服务器真实ip 
"insecure-registries":["ip:5000"] 
# 5、重启docker 服务 
systemctl restart docker
docker start registry

输入      http://ip:5000/v2/_catalog

6.3.1上传到私有仓库

# 1、标记镜像为私有仓库的镜像     
docker tag centos:7 私有仓库服务器IP:5000/centos:7
 
# 2、上传标记的镜像     
docker push 私有仓库服务器IP:5000/centos:7

6.3.2拉取

docker pull 私有仓库服务器ip:5000/centos:7

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

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

相关文章

Manus的开源替代者之一:OpenManus通用AI智能体框架解析及产品试用

引言 在AI智能体领域&#xff0c;Monica团队近期发布的Manus被誉为全球首个通用型AI智能体。该项目推出后迅速爆红&#xff0c;邀请码一号难求&#xff0c;随之而来的是各路开发者快速构建了众多类似的开源替代方案。其中&#xff0c;MetaGPT团队的5位工程师仅用3小时就开发完…

HDR(HDR10/ HLG),SDR

以下是HDR&#xff08;HDR10/HLG&#xff09;和SDR的详细解释&#xff1a; 1. SDR&#xff08;Standard Dynamic Range&#xff0c;标准动态范围&#xff09; • 定义&#xff1a;SDR是传统的动态范围标准&#xff0c;主要用于8位色深的视频显示&#xff0c;动态范围较窄&…

uni-app页面怎么设计更美观

顶部 页面最顶部要获取到手机设备状态栏的高度&#xff0c;避免与状态栏重叠或者被状态栏挡住 // 这是最顶部的父级容器 <view :style"{ paddingTop: ${statusBarHeight extraPadding}px }">.... </view> export default {data() {return {statusBarH…

江西核威环保科技:打造世界前沿的固液分离设备高新企业

随着市场经济的不断发展&#xff0c;消费者的需求越来越大&#xff0c;为了更好的服务广大新老客户&#xff0c;作为知名品牌的“江西核威环保科技有限公司&#xff08;以下简称江西核威环保科技&#xff09;”&#xff0c;将坚持以“服务为企业宗旨&#xff0c;全力打造世界前…

PTA 1097-矩阵行平移

给定一个&#x1d45b;&#x1d45b;nn的整数矩阵。对任一给定的正整数&#x1d458;<&#x1d45b;k<n&#xff0c;我们将矩阵的奇数行的元素整体向右依次平移1、……、&#x1d458;、1、……、&#x1d458;、……1、……、k、1、……、k、……个位置&#xff0c;平移…

C++蓝桥杯实训篇(一)

片头 嗨~小伙伴们&#xff0c;大家好&#xff01;现在我们来到实训篇啦~本篇章涉及算法知识&#xff0c;比基础篇稍微难一点&#xff0c;我会尽量把习题讲的通俗易懂。准备好了吗&#xff1f;咱们开始咯&#xff01; 第1题 递归实现指数型枚举 我们先画个图~ 从图中&#xff…

CentOS(最小化)安装之后,快速搭建Docker环境

本文以VMware虚拟机中安装最小化centos完成后开始。 1. 检查网络 打开网卡/启用网卡 执行命令ip a查看当前的网络连接是否正常&#xff1a; 如果得到的结果和我一样&#xff0c;有ens网卡但是没有ip地址&#xff0c;说明网卡未打开 手动启用&#xff1a; nmcli device sta…

软考《信息系统运行管理员》- 5.3 信息系统数据资源备份

文章目录 数据资源备份类型按数据备份模式分按备份过程中是否可接收用户响应和数据更新分按数据备份策略分按备份的实现方式分按数据备份的存储方式分 常用备份相关技术磁盘阵列技术双机热备 某公司数据备份管理制度实例 数据资源备份类型 数据备份系统由硬件和软件两部分组成…

H3CNE综合小实验之电视机

H3CNE综合小实验之电视机 一、实验拓扑图 二、实验要求 按照图示配置IP地址&#xff1b;按照图示区域划分配置对应的动态路由协议&#xff1b;在R7上配置dhcp服务器&#xff0c;能够让pc可以获取IP地址&#xff1b;将所有环回⼝宣告进ospf中&#xff0c;将环回⼝7宣告进rip中…

Axios企业级封装实战:从拦截器到安全策略!!!

&#x1f680; Axios企业级封装实战&#xff1a;从拦截器到安全策略 &#x1f527; 核心代码解析 // 创建Axios实例 const service axios.create({baseURL: api, // &#x1f310; 全局API前缀timeout: 0, // ⏳ 永不超时&#xff08;慎用&#xff01;&#xff09;withCrede…

DCAT模型:双交叉注意力革新医学影像诊断,AUC 99.75%

一、研究背景&#xff1a;医学影像诊断的挑战 在医学影像领域&#xff08;如X光、OCT&#xff09;&#xff0c;精准分类疾病直接影响患者治疗决策。传统深度学习模型存在两大痛点&#xff1a; 1.过度自信&#xff1a;即使图像模糊或存在噪声&#xff0c;模型仍可能给出高…

2.2.2 Spark单机版环境

本文介绍了如何搭建和使用Spark单机版环境。首先&#xff0c;确保安装配置好JDK&#xff0c;然后从群共享下载Spark安装包并上传至云主机的/opt目录。接着&#xff0c;解压到/usr/local目录并配置环境变量&#xff0c;通过spark-submit --version验证安装成功。在使用Spark单机…

SAP消息号类型(E/I/W)的定制

比如这样的M8088的标准的消息号&#xff0c;希望变更消息类型&#xff0c;查询之后&#xff0c;网上提供的消息&#xff0c;都是SE91,OMRM&#xff0c;OBA5之类的消息。事实上&#xff0c;SE91是不能变更消息类型的。 而在OMRM界面&#xff0c;只看到有限的几个消息号。 原来&a…

wazuh安全管理工具

Wazuh 通过监控操作系统和应用程序层面的终端设备&#xff0c;增强您基础设施的安全可见性。其核心功能涵盖日志分析、文件完整性监控、入侵检测以及合规性监控。 一、介绍 1. 核心功能 1.1 主机入侵检测&#xff08;HIDS&#xff09; 文件完整性监控&#xff08;FIM&#…

MATLAB 控制系统设计与仿真 - 29

用极点配置设计伺服系统 方法1-前馈修正 对于一个可控的系统&#xff0c;我们知道可以用极点配置来得到系统的动态响应指标&#xff0c;但是系统有时会存在较大的静态误差。 例如&#xff1a; 系统的状态矩阵如下&#xff0c;试求取其阶跃响应。 MATLAB 代码如下&#xff1…

编译原理——自底向上语法优先分析

文章目录 自底向上优先分析概述一、自底向上优先分析概述二、简单优先分析法&#xff08;一&#xff09;优先关系定义&#xff08;二&#xff09;简单优先文法的定义&#xff08;三&#xff09;简单优先分析法的操作步骤 三、算法优先分析法&#xff08;一&#xff09;直观算符…

Opencv计算机视觉编程攻略-第四节 图直方图统计像素

Opencv计算机视觉编程攻略-第四节 图直方图统计像素 1.计算图像直方图2.基于查找表修改图像3.直方图均衡化4.直方图反向投影进行内容查找5.用均值平移法查找目标6.比较直方图搜索相似图像7.用积分图统计图像 1.计算图像直方图 图像统计直方图的概念 图像统计直方图是一种用于描…

5、vim编辑和shell编程【超详细】

一、vim 1、了解 Vim (Vi IMproved) 是一款功能强大的文本编辑器。 正常模式&#xff1a;vim 文件&#xff0c;刚打开的样子vim模式&#xff1a;输入文本的地方命令模式&#xff1a;输入 :wq等等的位置&#xff0c;可以对文本进行一些操作&#xff0c;比如&#xff1a;保存文…

《Robust Synthetic-to-Real Transfer for Stereo Matching》

论文地址&#xff1a;https://arxiv.org/pdf/2403.07705 源码地址&#xff1a;https://github.com/jiaw-z/DKT-Stereo 概述 通过在合成数据上预训练的模型在未见领域上表现出强大的鲁棒性。然而&#xff0c;在现实世界场景中对这些模型进行微调时&#xff0c;其领域泛化能力可…

蓝桥杯第10届 后缀表达式

题目描述 给定 N 个加号、M 个减号以及 NM1 个整数 A1,A2,⋅⋅⋅,ANM1​&#xff0c;小明想知道在所有由这N 个加号、M 个减号以及 NM1 个整数凑出的合法的 后缀表达式中&#xff0c;结果最大的是哪一个&#xff1f; 请你输出这个最大的结果。 例如使用 1 2 3 -&#xff0c…