centos7-docker安装与使用

文章目录

  • 一、docker简介
    • 1.1docker应用场景
    • 1.2docker的优点
      • 1.2.1快速,一致地交付应用程序
      • 1.2.2响应式部署和扩展
      • 1.2.3在同一硬件上运行更多工作负载
    • 1.2docker的架构
  • 二、docker的安装
    • 2.1新系统的环境搭建
      • 2.1.1更换yum源
    • 2.2安装docker与卸载
      • 2.2.1yum安装docker
      • 2.2.2docker卸载
  • 三、docker的使用
    • 3.1docker hello world
    • 3.2交互式运行的容器
    • 3.3后台模式运行容器
    • 3.4docker容器的使用
      • 3.4.1获取centos7镜像
      • 3.4.2后台运行容器
      • 3.4.3进入到容器中
      • 3.4.4导出容器快照
      • 3.4.5导入容器快照
      • 3.4.6删除容器
    • 3.5镜像使用
      • 3.5.1列出镜像列表
      • 3.5.2删除镜像列表
      • 3.5.3构建一个新的镜像
    • 3.6容器连接
      • 3.6.1网络端口映射
    • 3.7docker仓库


一、docker简介

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。

1.1docker应用场景

  • Web 应用的自动化打包和发布。
  • 自动化测试和持续集成、发布。
  • 在服务型环境中部署和调整数据库或其他的后台应用。
  • 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

1.2docker的优点

Docker 是一个用于开发,交付和运行应用程序的开放平台。

Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。

通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

1.2.1快速,一致地交付应用程序

Docker 允许开发人员使用您提供的应用程序或服务的本地容器在标准化环境中工作,从而简化了开发的生命周期。

容器非常适合持续集成和持续交付(CI / CD)工作流程,请考虑以下示例方案:

  • 您的开发人员在本地编写代码,并使用 Docker 容器与同事共享他们的工作。
  • 他们使用 Docker 将其应用程序推送到测试环境中,并执行自动或手动测试。
  • 当开发人员发现错误时,他们可以在开发环境中对其进行修复,然后将其重新部署到测试环境中,以进行测试和验证。
  • 测试完成后,将修补程序推送给生产环境,就像将更新的镜像推送到生产环境一样简单。

1.2.2响应式部署和扩展

  • Docker 是基于容器的平台,允许高度可移植的工作负载。Docker 容器可以在开发人员的本机上,数据中心的物理或虚拟机上,云服务上或混合环境中运行。
  • Docker 的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。

1.2.3在同一硬件上运行更多工作负载

  • Docker 轻巧快速。它为基于虚拟机管理程序的虚拟机提供了可行、经济、高效的替代方案,因此您可以利用更多的计算能力来实现业务目标。Docker 非常适合于高密度环境以及中小型部署,而您可以用更少的资源做更多的事情。

1.2docker的架构

docker包括三个基本概念:

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
概念说明
Docker 镜像(Images)Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。
Docker 容器(Container)容器是独立运行的一个或一组应用,是镜像运行时的实体。
Docker 客户端(Client)Docker 客户端通过命令行或者其他工具使用 Docker SDK (https://docs.docker.com/develop/sdk/) 与 Docker 的守护进程通信。
Docker 主机(Host)一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
Docker RegistryDocker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。
Docker MachineDocker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

二、docker的安装

2.1新系统的环境搭建

2.1.1更换yum源

  • 备份原有的yum源
[root@localhost ~]# cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

在这里插入图片描述

  • 安装wget工具
    我这里用的是虚拟机,直接桥接模式连接的,所以我直接下载阿里云的yum源,所以就需要wget工具。

    (Wget是一个在Linux环境下用于从万维网下载文件的工具,由Hrvoje Niksic开发并后来被移植到包括Windows在内的各个平台。它支持HTTP和FTP协议,以及代理服务器功能,能够自动断点续传并恢复下载。此外,wget还具有用户设置文件".wgetrc",可以读取很多设置,例如代理服务器的设置。基本的语法是:wget [参数列表] URL。)

[root@localhost /]# yum install -y wget

在这里插入图片描述

  • 下载阿里云yum源
[root@localhost /]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

在这里插入图片描述

  • 清除原有的缓存并生成新的缓存
    (清除缓存)
[root@localhost /]# yum clean all

在这里插入图片描述

(生成新的缓存)

[root@localhost /]# yum makecache

在这里插入图片描述

  • 验证阿里云yum源是否生效
[root@localhost /]# yum update -y

在这里插入图片描述

2.2安装docker与卸载

2.2.1yum安装docker

  • 安装依赖软件包
[root@localhost /]# yum install -y yum-utils device-mapper-persistent-data lvm2

在这里插入图片描述

  • 添加docker仓库
[root@localhost /]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

在这里插入图片描述

  • 安装docker引擎
[root@localhost /]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

在这里插入图片描述

  • 启动docker并设置开机自启
[root@localhost /]# systemctl start docker
[root@localhost /]# systemctl enable docker

在这里插入图片描述

  • 查看docker版本
[root@localhost /]# docker --version

在这里插入图片描述

  • 查看docker运行状态
[root@localhost /]# systemctl status docker

在这里插入图片描述
(到此,docker就彻底安装完成,并且成功运行。)

2.2.2docker卸载

  • 卸载Docker软件包。
[root@localhost /]# yum remove docker-ce docker-ce-cli containerd.io

在这里插入图片描述

  • 删除docker所以数据。
[root@localhost /]# rm -rf /var/lib/docker/

在这里插入图片描述

  • 删除Docker配置文件和日志文件。
[root@localhost /]# rm -rf /etc/docker /var/log/docker

在这里插入图片描述

三、docker的使用

3.1docker hello world

Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。

输出Hello world:

[root@localhost ~]# docker run ubuntu:15.10 /bin/echo "hello,world"
  • docker: Docker 的二进制执行文件。
  • run: 与前面的 docker 组合来运行一个容器。
  • ubuntu:15.10 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
  • /bin/echo “Hello world”: 在启动的容器里执行的命令

以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo “Hello world”,然后输出结果。
在这里插入图片描述

3.2交互式运行的容器

通过 docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力:

[root@localhost ~]# docker run -i -t ubuntu:15.10 /bin/bash
root@e42a7d9e1da0:/#
  • -t: 在新容器内指定一个伪终端或终端。
  • -i: 允许你对容器内的标准输入 (STDIN) 进行交互。

注意第二行 root@0123ce188bd8:/#,此时我们已进入一个 ubuntu15.10 系统的容器。

我们尝试在容器中运行命令 cat /proc/version和ls分别查看当前系统的版本信息和当前目录下的文件列表。

root@e42a7d9e1da0:/# cat /proc/version
root@e42a7d9e1da0:/# ls

在这里插入图片描述
通过exit来退出容器

root@e42a7d9e1da0:/# exit

在这里插入图片描述

3.3后台模式运行容器

使用以下命令创建一个以进程方式运行的容器

[root@localhost ~]# docker run -d ubuntu:15.10 /bin/sh -c "while true;do echo hello world;sleep 1; done"

在这里插入图片描述
在输出中,我们没有看到期望的 “hello world”,而是一串长字符

0e32c3d03684084e7a3c8ccea63e75bd75d0921d6cc707c4563d25317abb3654

这个长字符串叫做容器 ID,对每个容器来说都是唯一的,我们可以通过容器 ID 来查看对应的容器发生了什么。

首先,我们需要确认容器有在运行,可以通过 docker ps 来查看:

[root@localhost ~]# docker ps

在这里插入图片描述

  • CONTAINER ID: 容器 ID。

  • IMAGE: 使用的镜像。

  • COMMAND: 启动容器时运行的命令。

  • CREATED: 容器的创建时间。

  • STATUS: 容器状态。
    状态有7种:

      - created(已创建)
      - restarting(重启中)
      - running 或 Up(运行中)
      - removing(迁移中)
      - paused(暂停)
      - exited(停止)
      - dead(死亡)
    
  • PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。

  • NAMES: 自动分配的容器名称。

在宿主主机内使用 docker logs 命令,查看容器内的标准输出:

[root@localhost ~]# docker logs 0e32c3d03684

在这里插入图片描述
停止容器的运行:

[root@localhost ~]# docker stop 0e32c3d03684

在这里插入图片描述

3.4docker容器的使用

3.4.1获取centos7镜像

如果我们本地没有 centos7 镜像,我们可以使用 docker pull 命令来载入 centos7 镜像:

首先查看镜像列表:

[root@localhost ~]# docker search centos7

在这里插入图片描述
拉取centos7的镜像:

[root@localhost ~]# docker pull centos:7

运行以下命令以启动一个新的CentOS 7容器:

[root@localhost ~]# docker run -it --name my_centos7_container centos:7 /bin/bash

参数说明:

  • -i: 交互式操作。
  • -t: 终端。
  • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

3.4.2后台运行容器

在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。

这里,我们让centos7在后台运行:

[root@localhost ~]# docker run -d centos:7 /bin/bash

在这里插入图片描述
命令详解:

  • run:启动的意思,Docker命令的一个子命令,用于创建并启动一个新的容器
  • -d:后台运行,加了 -d 参数默认不会进入容器
  • centos:7:image(镜像),要使用的Docker镜像的名称和标签
  • /bin/bash:解释器,使用/bin/bash来启动一个交互式的Bash shell

3.4.3进入到容器中

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

  • docker attach
[root@localhost ~]# docker attach 57aaaa97b26e

在这里插入图片描述

  • docker exec:推荐大家使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止。
[root@localhost ~]# docker exec -it e42a7d9e1da0 /bin/bash

在这里插入图片描述
命令详解:

  • exec:Docker命令的一个子命令,用于在现有容器中执行命令或启动一个新的进程
  • -it:选项,表示以交互模式运行容器,并分配一个伪终端
  • /bin/bash: 这是要在容器内执行的命令,这里使用的是Bash shell

3.4.4导出容器快照

如果要导出本地某个容器,可以使用 docker export 命令。

[root@localhost ~]# docker export e42a7d9e1da0 > ubuntu.tar

在这里插入图片描述
命令详解:

  • docker export e42a7d9e1da0这部分代码的作用是将容器的镜像导出为一个tar文件
  • (重定向)> ubuntu.tar这部分代码将导出的镜像保存到名为ubuntu.tar的文件中

3.4.5导入容器快照

可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1

[root@localhost ~]# cat ubuntu.tar | docker import - test/ubunt:v1

在这里插入图片描述

3.4.6删除容器

删除某一个容器

[root@localhost ~]# docker rm d04050d53e91

在这里插入图片描述
清理掉所有没有在运行状态的容器

[root@localhost ~]# docker container prune

在这里插入图片描述

3.5镜像使用

当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。

3.5.1列出镜像列表

可以使用 docker images 来列出本地主机上的镜像。

[root@localhost ~]# docker images

在这里插入图片描述
解释说明:

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小

(同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如 ubuntu 仓库源里,有 15.10、14.04 等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。)

如果要使用版本为15.10的ubuntu系统镜像来运行容器时,命令如下:

[root@localhost ~]# docker run -t -i ubuntu:15.10 /bin/bash

在这里插入图片描述
解释说明:

  • -i:交互式操作。
  • -t::终端。
  • ubuntu:15.10:这是指用 ubuntu 15.10 版本镜像为基础来启动容器。
  • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

(如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像。)

3.5.2删除镜像列表

镜像删除使用 docker rmi 命令,比如我们删除 test/ubunt 镜像:

[root@localhost ~]# docker rmi efee557f2563

在这里插入图片描述

3.5.3构建一个新的镜像

我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。

[root@localhost ~]# cat Dockerfile
FROM centos:7
MAINTAINER yourname <youremail@example.com>
RUN yum -y update && yum clean all
RUN yum install -y httpd
EXPOSE 80
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。

第一条FROM,指定使用哪个镜像源

RUN 指令告诉docker 在镜像内执行命令,安装了什么。

然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。

(注:如果docker中找不到名为"centos:7"的镜像,可以使用一下方法进行下载镜像

docker pull centos:7
docker save -o centos_7.tar centos:7
docker load -i centos_7.tar
1)在目录下运行以下命令构建镜像:
docker build -t myimage .

其中myimage是新镜像的名称,最后的"."表示使用当前目录下的Dockerfile。

2)构建完成后,可以使用以下命令查看新镜像:
docker images
2)运行新镜像:
docker run -d -p 80:80 myimage

(因为这里也是测试,所以就不作图了,不过这些命令完全行的通)

3.6容器连接

3.6.1网络端口映射

首先创建的一个python的容器

[root@localhost /]# docker run -d -P training/webapp python app.py

在这里插入图片描述
使用 -p 标识来指定容器端口绑定到主机端口。

两种方式的区别是:

-P :是容器内部端口随机映射到主机的端口。
-p : 是容器内部端口绑定到指定的主机端口。
[root@localhost /]# docker run -d -p 5000:5000 training/webapp python app.py

在这里插入图片描述

在这里插入图片描述
另外,我们可以指定容器绑定的网络地址,比如绑定 127.0.0.1。

[root@localhost /]# docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py

在这里插入图片描述
这样我们就可以通过访问 127.0.0.1:5001 来访问容器的 5000 端口。

上面的例子中,默认都是绑定 tcp 端口,如果要绑定 UDP 端口,可以在端口后面加上 /udp。

[root@localhost /]# docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py

在这里插入图片描述
docker port 命令可以让我们快捷地查看端口的绑定情况。

[root@localhost /]# docker port musing_gould 5000

3.7docker仓库

仓库(Repository)是集中存放镜像的地方。以下介绍一下 Docker Hub。当然不止 docker hub,只是远程的服务商不一样,操作都是一样的。

Docker Hub
目前 Docker 官方维护了一个公共仓库 Docker Hub。
大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。

注册
在 https://hub.docker.com 免费注册一个 Docker 账号。

登录和退出
登录需要输入用户名和密码,登录成功后,我们就可以从 docker hub 上拉取自己账号下的全部镜像。
在这里插入图片描述

# 登录
[root@bogon ~]# docker login
# 退出
[root@bogon ~]# docker logout

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

跨越速运在货运高峰的同时,受邀参加国际医疗器械博览会

作为国内领先的物流企业&#xff0c;跨越速运在一年一度的年终大促&#xff0c;货运高峰的同时&#xff0c;受第88届中国国际医疗器械博览会&#xff08;以下简称CMEF&#xff09;活动主办方邀请&#xff0c;&#xff09;于2023年10月31日&#xff0c;在深圳国际会展中心重磅亮…

C++基础 -6- 引用

引用格式(图片代码段呈现) int main() {int a 10;int &b a;cout << b << endl;cout << a << endl;b 20;cout << a << endl; }引用一般用于传参 下面举例说明两个变量交换值 分别使用普通方式和引用方式 引用传递参数的过程中就不…

C++-详解C++11中的左值,左值引用,右值,右值引用

目录 一.C语言中对左值和右值的定义 1.左值 2.右值 二.左值引用和右值引用 1.左值引用 2.右值引用 3.左值引用给右值取别名 4.右值引用给左值取别名 三.移动构造和移动赋值 1.移动赋值 2.移动拷贝 ​编辑​编辑 四.完美转发 1.先看一道试题&#xff1a; 一.C语言中对左值和…

外汇天眼:8家平台被监管拉黑,其中1家为假冒JP Morgan

就在最近&#xff0c;有八家未经监管授权的外汇交易公司被监管机构拉黑&#xff0c;其中有一家为假冒JP Morgan。具体新闻如下&#xff1a; 英国FCA对未授权平台Gens Markets发出警告 上周&#xff0c;英国金融行为监管局&#xff08;FCA&#xff09;对未经过监管授权的外汇平…

Kotlin学习之集合

原文链接 Kotlin Collections 现代的软件一般比较复杂&#xff0c;程序语言中的基本数据类型往往不能满足需要&#xff0c;除了基本的数据类型以外&#xff0c;还有对象的容器也非常的重要&#xff0c;比如线性容器&#xff08;数组&#xff0c;列表和Set&#xff09;和二维容…

Python提取PDF表格(基于AUTOSAR_SWS_CANDriver.pdf)

个人学习笔记&#xff0c;仅供参考。 需求&#xff1a;提取AUTOSAR SWS中所有的API接口信息&#xff0c;用于生成C代码。 此处以AUTOSAR_SWS_CANDriver.pdf为例&#xff0c;若需要提取多个SWS文件&#xff0c;遍历各个文件即可。 1.Python包 pdfplumber是一款完全用python开…

销量上不去,消费者纷纷回归直屏,折叠手机成为电子垃圾

折叠手机成为安卓手机创新的噱头&#xff0c;不过随着更多消费者使用了折叠手机&#xff0c;折叠手机正迅速走下神坛&#xff0c;用过的消费者都说体验太差&#xff0c;纷纷抛弃这种手机&#xff0c;而在二手市场价格又达到骨折&#xff0c;可以说折叠手机正成为电子垃圾。 折叠…

Ilya Sutskever:师从Hinton,“驱逐”奥特曼,一个改变AI世界的天才科学

ChatGPT 已经在全球爆火&#xff0c;但大众在两周之前似乎更熟悉Sam Altman&#xff0c;而对另一位创始人 Ilya Sutskever 却了解不多。 直到前几天因为OpenA眼花缭乱的政权争夺大戏&#xff0c;OpenAI 的首席科学家Ilya Sutskever的名字逐渐被世人所知。 Ilya Sutskever在科…

Win7 SP1 x64 安装 Python 出错解决方法

1 双击安装 python-3.7.9.exe &#xff0c;提示出错&#xff0c;log.file 显示需要 KB2533623&#xff0c;但在Microsoft Update Catalog 没有搜到&#xff0c;实验 KB4474419 也可以。 2 Microsoft Update Catalog 搜索 KB4474419 并下载&#xff0c;安装&#xff0c;重启电脑…

如何使用ArcGIS Pro制作一张北极俯视地图

地图的表现形式有很多种&#xff0c;经常我们看到的地图是以大西洋为中心的地图&#xff0c;还有以太平洋为中心的地图&#xff0c;今天要给大家介绍的地图是从北极上方俯视看的地图&#xff0c;这里给大家讲解一下制作方法&#xff0c;希望能对你有所帮助。 修改坐标系 制作…

前端开发学习 (三) 列表功能

一、列表功能 1、列表功能 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compa…

组装自己的稳定扩散模型

在本文中&#xff0c;我们将利用 Hugging Face Diffusers 库的组件实现自己的稳定扩散模型&#xff0c;可以像 diffuser.diffuse() 一样简单地生成图像。 在线工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编…

sqli-labs靶场详解(less11-less16)

目录 less-11 less-12 less-13 less-14 less-15 less-16 提交参数后 动态参数不存在url中 存在于post表单中 于是在表单中进行注入点测试 先看一看这种提交数据的关卡输入提交后会有什么反应 unameadmin&passwdadmin&submitSubmit 输出 usernameadmin passwordadmin un…

mongodb查询数据库集合的基础命令

基础命令 输入show dbs 命令&#xff0c;查看数据库 db查看当前正处在哪个数据库 创建或进入要使用的数据库&#xff0c;命令&#xff1a;use 数据库名字 刚创建的数据库数据库名字 并不在数据库的列表中&#xff0c; 要显示它&#xff0c;我们需要向 数据库名字 数据库插…

MFC哈希实现 目标:知道初始密码的人,才能改密码及登录。只知道登录密码只能登录。避免密码直接写在代码里或本地,通过软件评估报告。----安全行业基础5

一种简单的登录设计&#xff0c;密码保存在本地。&#xff08;直接MD5不安全&#xff0c;别人可以更换本地的密码,得再加一层算法就相对安全一点&#xff09; 当然也可以用加密机或专门存密码的系统来实现&#xff0c;就过于复杂。目标&#xff1a;1、为了避免密码直接写在代码…

使用shell快速查看电脑曾经连接过的WiFi密码

此方法只能查看以前连接过的wifi名称和对应的密码 查看连接过的WiFi名称netsh wlan show profiles查看具体的WiFi名称netsh wlan show profile name"你的wifi名称" keyclear

plt绘制表格

目录 1、绘制简单表格 2、将字体居中 3、为每个表格添加背景 4、添加透明度 5、不显示表格标题 6、将pandas的表格列转行显示 7、关闭表格边框 8、设置表格长宽、字体大小 9、利用色系指定表格颜色 10、修改字体颜色、边框粗细 1、绘制简单表格 import pandas as pd…

「阿里巴巴」裁撤量子实验室!

据内部消息&#xff0c;阿里巴巴达摩院由于预算及盈利等原因&#xff0c;已经撤裁旗下量子实验室。此次&#xff0c;共计裁减30余人。 达摩院官网已撤下量子实验室的相关介绍页面。上图&#xff1a;早先关于量子实验室的相关介绍&#xff1b;下图&#xff1a;现在达摩院官网“实…

十分钟搭建VScode C/C++运行环境

一、下载配置vscode 1.下载安装VScode 地址&#xff1a;https://code.visualstudio.com/download 下载后&#xff0c;运行安装程序 (VSCodeUserSetup-{version}.exe)。这只需要一分钟。安装程序会将 Visual Studio Code 添加到环境变量中%&#xff0c;可以使用CMD键入“code”…

主播直播表现力

主播表现力:全面提升你的直播效果 一、语言表达 主播的语言表达是直播的关键。优秀的语言表达能够让观众感到亲切和舒适&#xff0c;增加观众的参与度和忠诚度。以下是一些提升语言表达的建议: 1.清晰简洁:尽量使用简单易懂的词汇和句子结构&#xff0c;避免过于复杂的表达。…