docker命令、操作、部署服务器

2023-11-11

亲测有效:买了腾讯云,安装了centos8.0,进行docker操作
视频教学:

https://www.bilibili.com/video/BV1CJ411T7BK?p=28&spm_id_from=pageDriver&vd_source=1717654b9cbbc6a773c2092070686a95

一、docker的基本命令

二、配置数据卷

三、docker应用部署

四、Dockerfile

五、Docker Compose

六、Docker 私有仓库

七、docker和虚拟机的比较

一、docker的基本命令
cd~ 切到root目录下
docker images --查看docker镜像
docker search python --从远端仓库中寻找python
docker pull django --从远端仓库拉取django镜像
docker pull mysql:5.6 --从远端仓库拉取相应版本的mysql镜像
docker run -itd --name django1 django --使用django镜像创建django1容器
docker ps -a --查看所有容器
docker ps --查看正在运行的容器
docker exec -it django1 /bin/bash --进入django1容器的内部,每个容器相当于一个小型的linux系统,想要进入容器中,首先要启动容器。
exit() --从容器内部退出
exit --从镜像中退出
docker stop django1 --停止正在运行的容器
docker start django1 --开启关闭的容器
docker rm django1 --删除容器django1,删除容器的时候容器必须处于关闭状态
docker inspect c1 --查看容器c1的具体信息
docker rmi mysql:5.6 --删除mysql:5.6镜像,删除镜像前应该先删除由此镜像创建的容器
rm -rf mysql --删除centos系统中的文件夹
rm -f mysql --删除centos系统中的文件
systemctl start docker --启动docker
systemctl restart docker --重启docker
docker service docker stop --关闭docker
docker restart 容器名(或ID) --在容器中修改代码后,重启正在运行的容器
cd ~ --到根目录
cd …或cd / --到home目录
服务器的防火墙添加的端口号为宿主机的端口号

首次部署项目到服务器:
1、首先将云端项目通过git clone 对应连接或者直接粘贴复制到服务器的某个文件中
2、进入文件中,使用git pull拉取文件
3、使用docker-compose up -d 在没有创建镜像和容器的时候一键部署

在后续重新修改代码部署时:
docker-compose up -d 在git pull后,需要停止容器、删容器、删镜像,然后使用这个命令自动创建镜像和容器
docker-compose up -d --build 在git pull后,需要停止容器、删容器,然后使用这个命令会自动删除镜像并重新创建镜像、容器
docker-compose down 在代码部署后,这个命令可以直接停止并删除容器

在git pull后,打镜像:docker image build -t 3040/topo_manage:v1.5.1 .
创建容器:
docker run -itd --name pipe_burst_analysis -p 18888:18888 -v /root/app/pipe_burst_analysis/logs:/usr/src/app/lf/logs
dc38e8c39f97

将文件复制到容器中替换

docker cp ./repair_new.py topo_manage_test:/usr/src/app/intel_networks/api/views

将跳板机中的文件夹复制出来(在刚进去的服务器里面操作,不用进跳板机)

scp -r root@xx.xx.x.xx:/app/weblogic/ ./

将跳板机中的文件复制出来(在刚进去的服务器里面操作,不用进跳板机)

scp root@xx.xx.x.xx:/root/Algo/dt_resource/dtt_dg_prod/resource/scada/100_20230108_transient/* ./

二、配置数据卷
1、docker run -itd --name=c1 -v /root/data:/root/data_container centos:latest /bin/bash -v参数:用来设置数据卷 后面代表宿主机目录与容器目录,c1为容器的名字,centos:latest是用来创建容器的镜像
1.1、先在宿主机中的data文件下创建一个文件看看data_container中会不会同步。cd ~,切到root目录,再用ls查看是否创建成功,先进入到宿主机的data目录下,创建一个itheima.txt文件touch itheima.text,再cd data_container容器中ls查看是否有itheima.txt文件,有说明配置数据卷成功。
1.2、再在data_container中创建一个文件看看宿主机中的data中会不会同步。在data_container中新建一个a.txt,echo itcast > a.txt,ls查看一下,再查看一下里面的内容,cat a.txt,显示itcast,通过exit退回到宿主机,再切回到宿主机的data文件夹下面查看一下。
1.3、我们删去c1容器。docker rm c1,再去宿主机中的data文件夹看看是否存在c1容器中的文件。
1.4、恢复删去的c1容器。docker run -itd --name=c1 -v ~/data:/root/data_container centos:latest。查看是否存在data_container容器,docker exec -it c1 /bin/bash,再回到容器的root目录,cd ~。cd data_container,存在即成功。
2、创建一个容器挂载多个目录
docker run -itd --name=c2 -v /root/data2:/root/data2 -v /root/data3:/root/data3 centos:latest /bin/bash。这样既在宿主机的root文件夹下创建了data2和data3,而且也在c2容器中创建了data2和data3。进入c2容器docker exec -it c2 /bin/bash,但是我只想进入容器的root目录下,所以我再cd ~,这样才行,有能直接到容器的root目录下的命令?要用dockerfile才行。
3、通过两个容器挂载同一个数据卷
docker run -itd --name=c3 -v /root/data:/root/data centos:latest,刚开始我创建一个c3的容器将宿主机的data文件挂载到c3中的data文件中,进入c3容器docker exec -it c3 /bin/bash,再cd ~到容器c3的主目录下,ls查看有data文件,再cd data进入,ls查看有a.txt和itheima.text文件,说明c3容器挂载数据卷成功。再用同样的方法创建c4容器,docker run -itd --name=c4 -v /root/data:/root/data centos:latest,查看到文件即成功。我们再c4的data文件下创建一个itcast.txt文件,echo itcast > itcast.txt,再看看宿主机的data文件夹和c3容器中的data文件夹下有没有这些文件。
4、配置数据卷容器
先将之前配置的c1 c2 c3 c4容器全部删除
4.1创建c3容器的数据卷。docker run -it --name=c3 -v /volume centos:latest
4.2将c1和c2容器挂载到c3的数据卷下。docker run -it --name=c1 --volumes-from c3 centos:latest,docker run -it --name=c2 --volumes-from c3 centos:latest。用ls查看是否有volume目录。我们在c3的volume下创建一个a.txt文件,touch a.txt,看看c1和c2的volume下是否有此文件。
三、docker应用部署
1、mysql部署
1.1首先在宿主机的root目录下创建一个mysql目录,mkdir mysql,再进入mysql目录下,然后再创建一个c_mysql容器,并进行端口映射。
docker run -id
-p 3306:3306
–name=c_mysql
-v $PWD/conf:/etc/mysql/conf.d
-v $PWD/logs:/logs
-v $PWD/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456
mysql:5.6
参数说明:
-p 3306:3306:将容器的3306端口映射到宿主机的3306端口
–v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的conf/my.cnf挂载到容器/etc/mysql/my.cnf配置目录
-v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs目录日志
-v $PWD/data:/var/lib/mysql:将主机当前目录下的data目录挂载到容器的/var/lib/mysql数据目录
-e MYSQL_ROOT_PASSWORD=123456:初始化root 用户密码
1.2进入c_mysql容器,docker exec -it c_mysql /bin/bash,再进入mysql -uroot -p123456,show databases;,create database db1;,show databases;,use db1;。为啥用navicate连不上?可以了,得在服务器的防火墙添加规则那加一个3306端口。
在拉取完镜像后,使用该命令直接创建mysql容器

docker run -d -p 3306:3306 -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name  mysql mysql:5.6

2、Tomcat部署
2.1搜索Tomcat 镜像
docker search tomcat
2.2拉取mysql镜像
docker pull tomcat
2.3创建容器,设置端口映射、目录映射
首先在宿主机的root目录下创建一个tomcat目录,mkdir tomcat,再进入tomcat目录下,然后再创建一个c_tomcat容器,并进行端口映射。

docker run -id --name=c_tomcat \
-p 8080:8080 \
-v $PWD:/usr/local/tomcat/webapps \
tomcat

在tomcat目录下创建一个test文件,mkdir test,cd test,写入index.html,vim index.html,按i键入,输入<h1> hello nginx docker </h1>,按esc健,输入:wq,按回车。在服务器的防火墙添加规则那加一个8080端口,去网站上输入网址49.234.9.240:8080/test/index.html,成功显示hello tomcat docker。
3、nginx部署
3.1搜索nginx 镜像
docker search nginx
3.2拉取nginx镜像
docker pull nginx
3.3创建容器,设置端口映射、目录映射
#在/root目录下创建nginx目录用于存储nginx数据信息
mkdir nginx
cd 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;
}

cd…,再回到nginx目录下进行端口映射、目录映射

docker run -id --name=c_nginx \
-p 80:80 \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
-v $PWD/logs:/var/log/nginx \
-v $PWD/html:/usr/share/nginx/html \
nginx

参数说明:
-p 80:80:将容器的80端口映射到宿主机的80端口
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机当前目录下的/conf/nginx.conf挂载到容器的:/etc/nginx/nginx.conf配置目录
-v $PWD/html:/usr/share/nginx/html:将主机当前目录挂载到容器的/val/log/nginx日志目录
cd html,写入index.html,vim index.html,按i键入,输入<h1> hello nginx docker </h1>,按esc健,输入:wq,按回车。去网站上输入网址49.234.9.240,成功显示hello nginx docker。
4、Redis部署
4.1搜索redis 镜像
docker search redis
4.2拉取redis 镜像
docker pull redis:5.0
4.3创建容器,设置端口映射、目录映射
docker run -id --name=c_redis -p 6379:6379 redis:5.0
4.4使用外部机器连接redis
redis-cli.exe -h 192.168.187.129 -p 6379
四、Dockerfile
1、概念:
Dockerfile 是一个文本文件
包含了一条条的指令
每一条指令构建一层,基于基础镜像,最终构建出一个新的镜像
对于开发人员,可以为开发团队提供一个完全一致的开发环境
对于测试人员,可以直接拿开发时所构建的镜像或者通过Dockerfile 文件构建一个新的镜像开始工作了
对于运维人员,在部署时,可以实现应用的无缝移植
2、Dockerfile 关键字
在这里插入图片描述
Dockerfile指令说明简洁版:
FROM
构建镜像基于哪个镜像
MAINTAINER
镜像维护者姓名或邮箱地址
RUN
构建镜像时运行的指令
CMD
运行容器时执行的shell环境
VOLUME
指定容器挂载点到宿主机自动生成的目录或其他容器
USER
为RUN、CMD、和 ENTRYPOINT 执行命令指定运行用户
WORKDIR
为 RUN、CMD、ENTRYPOINT、COPY 和 ADD 设置工作目录,就是切换目录
HEALTHCHECH
健康检查
ARG
构建时指定的一些参数
EXPOSE
声明容器的服务端口(仅仅是声明)
ENV
设置容器环境变量
ADD
拷贝文件或目录到容器中,如果是URL或压缩包便会自动下载或自动解压
COPY
拷贝文件或目录到容器中,跟ADD类似,但不具备自动下载或解压的功能
ENTRYPOINT
运行容器时执行的shell命令
3、案例
3.1需求:
​自定义CentOS7镜像。要求:
默认登录路径为/usr
可以使用vim
3.2实现步骤:
定义父镜像:FROM centos:7
定义作者信息:MAINTAINER crisp077 <www.crisp077.xyz>
执行安装vim命令:RUN yum install -y vim
定义默认的工作目录:WORKDIR /usr
定义容器启动执行的命令:CMD /bin/bash
3.3创建使用dockerfile的镜像:
docker build -f ./centos_dockerfile -t itheima_centos:1 .
实例:
首先,拉取centos:7镜像,docker pull centos:7,拿它创建一个c4的容器,docker run -it --name=c4 centos:7,进入到root目录,cd ~,vi a.txt,我们目前只能这么操作,接下来我们自己制作一个itheima_centos:1的镜像,默认登录路径为/usr,还可以使用vim。
回到宿主机的根目录,用exit退出,创建docker-files文件,mkdir docker-files,cd docker-files,vim centos_dockerfile,写入

FROM centos:7
MAINTAINER itheima <itheima@itcast.cn>
RUN yum install -y vim
WORKDIR /usr
CMD /bin/bash

按esc健,输入:wq,按回车。docker build -f ./centos_dockerfile -t itheima_centos:1 .。输入docker images查看镜像,发现已经创建了itheima_centos:7镜像,通过此镜像来创建c5容器,docker run -it --name=c5 itheima_centos:1,发现默认登录路径为usr,我们在cd ~到其根目录,输入vim a.txt,按esc健,输入:wq,按回车。发现该容器可以使用vim,之前的那个c4容器就无法使用vim。
五、Docker Compose
1、Dockers Compose 概述
Docker Compose 是一个编排多容器分布式部署的工具,提供命令集管理器化应用的完整开发期,包括服务构建,启动和停止。使用步骤:
(1)利用 Dockerfile 定义运行环境镜像
(2)使用 docker-compose.yml 定义组成应用的各服务
(3)运行 docker-compose up 启动应用
(4)运行 docker-compose up -d 启动应用,后台运行中
2、安装Docker Compose
#Compose 目前已经完全支持Linux、MAC OS、Windows,在安装Compose之前,需要先安装Docker。下面以编译好的二进制包方式安装在Linux中

curl -L https://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

#设置文件可执行权限
chmod +x /usr/local/bin/docker-compose
#查看版本信息
docker-compose -v
3、案例
3.1 创建docker-compose目录
mkdir docker-compose,cd docker-compose,vim docker-compose.yml
3.2 编写docker-compose.yml文件

version: '3'
services:
nginx:
iamge: nginx
ports:
- 80:80
links:
- app
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
app:
image: app
expose:
- "8080"

在创建./nginx/conf.d目录,mkdir -p ./nginx/conf.d,cd ./nginx/conf.d,vim itheima.conf,编写itheima.conf文件

server {
listen 80;
acess_log off;
location / {
proxy_pass https://app:8080;
}
}

退到docker-compose文件目录下,cd …/…/,使用docker-compose up启动容器。
六、Docker 私有仓库
1、私有仓库搭建
1.1、拉取私有仓库镜像
docker pull registry
1.2、启动私有仓库容器
docker run -id --name=registry -p 5000:5000 registry
1.3、打开浏览器,输入地址
http://私有仓库服务器ip:5000/v2/_catalog,在服务器的防火墙加一个5000端口,看到{“repositories”:[]}表示私有仓库搭建成功
1.4、修改deamon.json
vim /etc/docker/daemon.json
#在上述文件中添加一个key,保存退出。
#此步用于让docker信任私有仓库地址
#注意将私有仓库服务器ip修改为自己私有仓库服务器真实ip
{“insecure-registries”: [“49.234.9.240:5000”]}
1.5、重启docker 服务
systemctl restart docker
docker start registry
2、上传镜像到私有仓库
2.1、标记镜像为私有仓库的镜像
docker tag centos:7 49.234.9.240:5000/centos:7
2.2、上传标记的镜像
docker push 49.234.9.240:5000/centos:7
3、从私有仓库拉取镜像
先将49.234.9.240:5000/centos:7的镜像删除,docker rmi 49.234.9.240:5000/centos:7
#拉取镜像
docker pull 49.234.9.240:5000/centos:7
再用docker images一看镜像49.234.9.240:5000/centos:7又回来了。
七、docker和虚拟机的比较
容器就是将软件打包成标准化单元,以用于开发、交付和部署
容器镜像是轻量级的、可执行的独立软件包,包含软件运行所需要的所有内容:代码、运行时环境、系统工具、系统库和设置
容器化软件在任何环境中都能够始终如一地运行
容器赋予了软件独立性,使其免受外在环境差异的影响,从而有助于减少团队间在相同基础设施上运行不同软件时的冲突
相同:
容器和虚拟机具有相似的资源隔离和分配优势
不同:
容器虚拟化的是操作系统,虚拟机虚拟化的时硬件
传统的虚拟机可以运行不同的操作系统,容器只能运行同一类型的操作系统
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker命令、操作、部署服务器 的相关文章

  • 使用 php 和 sendmail 发送有关测试 docker 容器的电子邮件

    我用的是ubuntu 16 04 我有一个 测试 docker docker compose 容器运行 php 5 6 和 apache 2 4 在生产平台 没有docker 上 邮件是通过sendmail发送的 如何在docker容器上发
  • 如何在 GitHub Action 中等待容器健康?

    我正在使用 GitHub Action 进行一些自动化测试 我的应用程序是在 docker 中开发的 name Docker Image CI on push branches master pull request branches ma
  • 无法从 Gitlab CI 访问私有 MySQL Docker 映像

    我一直在尝试将私有 自定义 MySQL 映像从我的 Docker Hub 存储库拉入 gitlab ci yml 管道作为服务 我添加了一个 before script 尝试使用我的用户名和密码 CI 变量 登录 dockerhub 失败的
  • 如何禁用docker容器的root访问权限?

    我们有离岸开发人员 他们希望在本地运行我们的服务器 但出于安全原因 我们不想向他们提供服务器代码 所以一个解决方案是他们运行一个 Docker 容器 这是我们服务器的独立版本 所以他们这边没有复杂的设置 问题在于 始终可以以 root 身份
  • 在 Flask 应用程序中设置和检索环境变量

    我想使用 python3 flask 构建一个非常简单的 REST api 比如说我想设置我的SECRET KEY要求由flask作为环境变量 推荐的方法是什么 我知道python dotenv允许 或者我应该说requires the f
  • Docker EXPOSE 使用运行时环境变量

    我的 Dockerfile 设置了一些环境变量的默认值 然后公开了两个应该是提供的环境变量的端口 FROM python 3 6 5 stretch ENV MY SERVICE PORT 8080 ENV MY SERVICE PORT
  • 在 docker 中将 pgadmin 连接到 postgres

    我有一个docker compose与服务文件python nginx postgres and pgadmin services postgres image postgres 9 6 env file env volumes postg
  • 在 Mac OS X 上从 boot2docker 迁移到 Vagrant+NFS 的最快方法是什么?

    我有一个从官方 mysql 构建的数据库容器docker pull mysql 我有一个前端应用程序app用蛋糕建造 我有一个后端应用程序cms使用 Symfony 构建 我为两者都设置了容器链接app and cms自动启动并连接到db
  • 如何从 AWS SAM 本地 docker 实例连接到主机 MySQL?

    我正在尝试使用调用我的 Lambda 函数sam local invoke但发现无法连接到我的主机MySQL 我尝试添加 docker network host但也无法连接 Traceback most recent call last F
  • 在 docker 中根据更改重新启动 Flask 应用程序

    我正在使用 Flask script 来运行我的应用程序 if name main manager run 在 docker 中我有以下内容 CMD python manage py runserver h 0 0 0 0 p 5000 现
  • Docker 和 Eureka 与 Spring Boot 无法注册客户端

    我有一个使用 Spring Boot Docker Compose Eureka 的非常简单的演示 我的服务器在端口 8671 上运行 具有以下应用程序属性 server port 8761 eureka instance prefer i
  • apt-get 无法在 ubuntu dockerfile 中工作

    我对 docker 相当陌生 正在尝试通过编写自己的镜像来学习 并且目前正在阅读 Docker 的实际操作 ISBN 1633430235 在我自己的代码和书中的示例 第 146 页 中 我想通过 dockerfile 安装 git My
  • 无法连接到 macOS 上的 Docker 守护进程

    我通常更喜欢使用brew 来管理我的OSX 上的应用程序 我能够安装 docker docker compose 和 docker machine docker version Docker version 17 05 0 ce build
  • 如何判断我是否通过脚本登录到私有 Docker 注册表?

    如何判断我是否通过脚本登录到私有 Docker 注册表服务器 换句话说 有docker login some registry com已成功运行 并且仍然有效 注意 我问的是任意私有注册表 而不是docker io注册表 如果 docker
  • Docker Compose 保持容器运行

    我想使用 docker compose 启动一个服务并保持容器运行 这样我就可以通过 docker检查 获取它的IP地址 然而 容器总是在启动后立即退出 我尝试将 command sleep 60 和其他内容添加到 docker compo
  • Nginx docker容器代理传递到另一个端口

    我想在 docker 容器中运行 Nginx 它监听端口 80 并且当 url 以 word 开头时 我希望它 proxy pass 到端口 8080api 我有一些网络应用程序侦听端口 8080 这在没有 docker 的情况下对我来说一
  • 在 Ubuntu 18.04 上安装 Docker? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我检查了 Ubuntu 上 Docker 的文档页面 没有看到最近发布的 18 04 https docs docker com inst
  • Redis+Docker+Django - 错误 111 连接被拒绝

    我正在尝试使用 Redis 作为使用 Docker Compose 的 Django 项目的 Celery 代理 我无法弄清楚我到底做错了什么 但尽管控制台日志消息告诉我 Redis 正在运行并接受连接 事实上 当我这样做时 docker
  • 如何管理AWS ECS中docker镜像的版本?

    AWS ECS 服务指向一个任务定义 其中包含 docker 镜像的名称 包括标签 因此 当我创建新版本的 docker 映像时 我有两种可能性 将任务定义更新到新版本 然后更新服务以指向任务定义的新版本 使用一些标签指向最后一个版本 假设
  • 如何从容器内运行 podman?

    我想跑podman https podman io作为运行 CI CD 管道的容器 但是 我不断从 podman 容器中收到此错误 podman info ERRO 0000 overlay is not supported over ov

随机推荐

  • VS2010 的卸载方法

    如何完全卸载VS2010 亲自体验过 1 首先用360卸载 当卸载完成后 提示有残余的话 就强力清除 PS 笔者使用专用卸载工具 IobitUninstaller 工具 此工具是单文件 免安装 它的特点是拥有360安全卫士 金山安全卫士 Q
  • 复制虚拟机后无法上网的问题

    1 背景 虚拟机用的是VMWare为了得到新的环境 而又不想每次都重装虚拟机 于是某天我复制了一台待机的虚拟机 然鹅它起来后却上不了网 无论我设了静态ip还是动态ip都不行 2 解决方法 问了下chatgpt 说是因为虚拟机的MAC地址冲突
  • 第十五章 AlibabaCloud微服务下的分布式配置中⼼

    1 微服务下的分布式配置中 现在微服务存在的问题 配置 件增多 不好维护 修改配置 件需要重新发布 什么是配置中 句话 统 管理配置 快速切换各个环境的配置 相关产品 百度的disconf 地址 https github com knigh
  • DolphinScheduler跨版本升级1.3.8至3.0.1

    DolphinScheduler跨版本升级1 3 8至3 0 1 Refer 背景 基础环境 依赖版本升级 修改pom xml 问题解决 MYSQL升级 1 文件替换 2 修改表结构 t ds process definition t ds
  • 三菱PLC 红绿灯 步进指令 STL

    自己写的红绿灯 有启动 停止两个按钮 南北通行4S 东西通行5S 链接 https caiyun 139 com m i 0E5CJEoVGt4D0 提取码 kVOA SET 启动 启动标志 RST 启动 停止标志 SET 停止 停止标志
  • 实例讲解MOS管电源开关电路的软启动

    看到一篇文章 作者在做一款大电压 大电流供电的产品 测试发现启动时的冲击电流很大 最大达到了14 2A 见下图示波器通道2的蓝色波形 通道4的绿色波形是采样电阻的电压 当时作者没有经验 不知道如何去解决 后来同事指点说 解决这个问题需要增加
  • C++总结笔记(十)——堆区内存开辟数组和二级指针

    文章目录 一 堆区开辟数组 1 数组指针与指针数组的区别 2 1维数组 3 2维数组 二 二级指针 一 堆区开辟数组 1 数组指针与指针数组的区别 数组指针是指指向数组的指针 它的本体是一个指针 声明指针变量的时候一般用括号 因为括号的优先
  • 解决 invalid user: VMessAEAD is enforced and a non VMessAEAD connection is received.

    2023 01 31 10 27 56 111 181 19 37 45288 rejected common drain common drain unable to drain connection gt EOF gt proxy vm
  • java-实现网页代码的爬取

    爬取一个网页的内容 当然相对路径以及样式都复制不过来 只能复制这个文件的内容 先将所有异常使用Throws抛出的话 import java io BufferedInputStream import java io BufferedOutp
  • ubuntu 安装 nginx

    apt get安装nginx 1 切换到root用户安装 安装最好用root用户安装 不然很多文件权限的报错会让人崩溃 sudo su root apt get install nginx 安装 nginx v 查看安装版本 service
  • 蓝桥杯单片机备考必看内容,学习一周,保底省三!

    这里我先把我弄到的历年考试类型给大家 但是这图只能参考 经历这届蓝桥杯我深有体会 考试当天早上我还在想要不要看看矩阵键盘 但是想着这个考点概率就没去看隔着摆烂 结果真考了按键12 13 16 17的运用 但是有一点要说的是 这届选择题很多历
  • Java获取Process进程ID,并杀掉相应的进程树

    在使用java过程中 很多人可能遇到过这样的问题 当我们通过cmd exe执行命令的时候 如下 Runtime rt Runtime getRuntime Process process rt exec cmd java会在后台进程中开启一
  • 执行yum install时,终端一直刷重复的内容

    执行yum install时 终端一直刷重复的内容 看起来不像报错 可是又无休止的刷 起因 启动nginx报错 说找不到libcrypto so 6 这是因为缺少openssl相关包 于是执行下载 yum install openssl 发
  • 【PTA】 试试手气

    我们知道一个骰子有 6 个面 分别刻了 1 到 6 个点 下面给你 6 个骰子的初始状态 即它们朝上一面的点数 让你一把抓起摇出另一套结果 假设你摇骰子的手段特别精妙 每次摇出的结果都满足以下两个条件 1 每个骰子摇出的点数都跟它之前任何一
  • 第四章 函数式编程(Lambda表达式&Stream流)

    一 Lambda表达式 特点 是匿名函数 2是可传递 匿名函数 需要一个函数 但又不想命名一个函数的场景下使用lambda表达式 使用lambda表达式时函数内容应该简单 可传递 将lambda表达式传递给其他的函数 它当做参数 lambd
  • 汽车安全标准ISO-26262以及等级ASIL

    1 什么是ISO 26262 为了保证即使出现部分电子器件故障 汽车系统也能在短期 故障容错时间内 内安全进行 2011年11月 ISO International Organization for Standardization 国际标准
  • 【12月海口】2022年第六届船舶,海洋与海事工程国际会议(NAOME 2022)

    2022年第六届船舶 海洋与海事工程国际会议 NAOME 2022 重要信息 会议网址 www icnaome org 会议时间 2022年12月23 25日 召开地点 海南 海口 截稿时间 2022年10月20日 录用通知 投稿后2周内
  • 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先(java+python)

    给定一个二叉搜索树 找到该树中两个指定节点的最近公共祖先 百度百科中最近公共祖先的定义为 对于有根树 T 的两个结点 p q 最近公共祖先表示为一个结点 x 满足 x 是 p q 的祖先且 x 的深度尽可能大 一个节点也可以是它自己的祖先
  • go实现命令行拷贝文件

    package main import flag fmt bufio os strings io func FileExists dst string bool err os Stat dst return err nil os IsExi
  • docker命令、操作、部署服务器

    亲测有效 买了腾讯云 安装了centos8 0 进行docker操作 视频教学 https www bilibili com video BV1CJ411T7BK p 28 spm id from pageDriver vd source