Docker入门

news2025/1/11 19:41:23

目录

Docker的作用

Docker的核心概念

Docker安装

镜像命令

        镜像下载

        查看镜像

        搜索镜像

        删除镜像

容器命令

        创建容器

        列出容器

        新建并启动容器(最常使用)

        守护态运行

        启动容器

        终止容器

        重启容器

        进入容器

attach命令

exec命令(最常使用)

        退出容器

        删除容器

 重点:各种参数的作用

核心命令

        日志命令

        查看容器里面的进程

        从容器拷贝文件到主机上

Docker数据管理

        什么是数据卷

        配置数据卷

        数据卷容器

DockerFile

        构建镜像

        常见的13种指令

        CMD和MAINTAINER的区别 

公有云

        发布镜像到DockerHub

        发布镜像到阿里云


 

部分图片来自百战程序员  

Docker的作用

Docker只能在Linux中运行 

开发者需要能方便高效构建应用,并且任何时间任何地点都可以获取。

Docker在开发和运维中的优势

对开发和运维( DevOps)人员来说,可能最梦寐以求的就是一次性地创建或配置,可以在任意环境、任意时间让应用正常地运行。而Docker恰恰是可以实现这一终极目标的瑞士军刀。

优势:

  • 更快速的交付和部署
  • 更高效的资源利用
  • 更轻松的迁移和扩展
  • 更简单的更新管理

Docker与虚拟机比较

作为一种轻量级的虚拟化方式,Docker在运行应用上跟传统的虚拟机方式相比具有显著优势。

特性

容器

虚拟机

启动速度

秒级

分钟级

磁盘使用

一般为MB

一般为GB

性能

接近原生

弱于

系统支持量

单机支持上千个容器

一般几十个

隔离性

完全隔离

完全隔离

 

Docker的核心概念

  • 镜像(Image)
  • 容器 (Container)
  • 仓库 (Repository)

Docker 镜像 (Image) 类似于虚拟机镜像,可以将它理解为个面向 Docker引擎的模板,包含了文件系统。

镜像从何而来

  • 从Docker Hub下载 原理相当于maven-> 中央仓库
  • 通过Docker file自己创建出来

Docker容器

Docker容器(Container)类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,而这些容器都是相互隔离、互不可见的。

注意:

容器和镜像一样,也是若干层的叠加,唯一区别是所有只读层的最上面一层,是一层可读可写层,可以记住这个简单的公式:容器 = 容器镜像 + 可读可写层

 

Docker仓库

Docker仓库(Repository)类似于代码仓库,是Docker集中存放镜像文件的场所。目前,最大的公开仓库是Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开仓库包括Docker Pool等,可以提供稳定的国内访问。

注意:

Docker利用仓库管理镜像的设计理念与Maven非常相似。

 

咱们再来理解docker的两句口号就更好理解了

  • 「Build, Ship and Run (搭建,发送给同事,同事即可运行)」
  • 「Buildonce,Runanywhere (搭建一次,运行到任何地方)」

 

Docker安装

系统环境

序号

软件

版本

1

Centos

7.5

2

Linux内核

3.8之上

关闭防火墙

systemctl stop firewalld

关闭selinux

vim /etc/selinux/config

SELINUX=disabled

安装docker引擎

yum install -y  docker

启动docker

systemctl start docker

设置docker自启动

systemctl enable docker

测试docker是否安装成功

docker run hello-world

镜像命令

        镜像下载

Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认镜像仓库下载(默认使用Docker Hub公共注册服务器中的仓库),用户也可以通过配置,使用自定义的镜像仓库。

镜像下载

镜像是Docker运行容器的前提。

 

语法格式:

docker pull 镜像名字:[tag]

注意:

如果不指定tag,则下载Docker Hub公共注册服务器中仓库的最新版本。

 例:下载mysql5.7

我这里已经下载过了,所以没有提示下载信息 

 

 

        查看镜像

列出本地主机上已有的镜像。

[root@docker ~]# docker images

REPOSITORY  TAG    IMAGE ID  CREATED  SIZE

参数:

  • 来自于哪个仓库,比如 ubuntu仓库。镜像的标签信息,比如14.04。
  • 镜像的ID号(唯一)。
  • 创建时间。
  • 镜像大小。

镜像的ID信息十分重要,它唯一标识了镜像。

 

        搜索镜像

搜索远端仓库中共享的镜像,默认搜索Docker Hub官方仓库中的镜像。

docker serach  [镜像名字]

参数:

可以看到返回了很多包含关键字的镜像,其中包括镜像名字、描述、星级 (表示该镜像的受欢迎程度)、是否官方创建、是否自动创建等。

例子:搜索镜像mysql:5.7 

 

        删除镜像

使用镜像的标签删除镜像

docker rmi 源名字

docker rmi image idimage id可以只写前两位)

 

容器命令

        创建容器

Docker的容器十分轻量级,用户可以随时创建或者删除容器。

语法格式

docker create -it 镜像名字

注意:

使用docker create命令新建的容器处于停止状态,可以使用docker start命令来启动它。

 

        列出容器

docker ps

参数:

  • -a: 显示未启动容器
  • -q:返回容器id号

 

        新建并启动容器(最常使用)

启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态( stopped)的容器重新启动。所需要的命令主要为docker run,等价于先执行docker create命令,再执行docker start命令。

语法格式:

docker run 镜像名字 /bin/echo 

Docker在后台运行的标准操作包括:

  • 检查本地是否存在指定的镜像,不存在就从公有仓库下载。
  • 利用镜像创建并启动一个容器。
  • 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层。
  • 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去。
  • 从地址池配置一个IP地址给容器。
  • 执行用户指定的应用程序。
  • 执行完毕后容器被终止。

 

下面命令则启动一个bash端,运行用户交互

docker run -t -i 镜像名字  /bin/bash

参数:

其中,-t选项让Docker 分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,-i则让容器的标准输入保持打开。

exit命令退出。

 

 例子:创建tomcat容器并启动后台运行 

        守护态运行

更多的时候,需要让Docker容器在后台以守护态(Daemonized)形式运行。用户可以通过添加-d参数来实现。

语法格式(run后面加-d即可称为守护态运行)

docker run -d 镜像名字 /bin/bash -c  "while true; do echo hello world ;sleep 1 ;done"

例子:创建tomcat容器并启动后台运行 

        启动容器

处于终止状态的容器,可以通过docker start命令来重新启动:

语法:

docker start 容器id

 

        终止容器

docker restart命令会将一个运行态的容器终止,然后再重新启动

语法:

docker restart 容器id

        重启容器

docker restart命令会将一个运行态的容器终止,然后再重新启动

语法:

docker restart 容器id

 

        进入容器

在使用-d参数时,容器启动后会进入后台,用户无法看到容器中的信息。某些时候如果需要进入容器进行操作,有多种方法,包括使用docker attach命令、docker exec命令,以及nsenter工具等。

attach命令

语法格式:

docker attach 容器id

注意:

1、但是使用attach命令有时候并不方便。当多个窗口同时attach 到同一个容器的时候,所有窗口都       

会同步显示。当某个窗口因命令阻塞时,其他窗口也无法执行操作了。

2、使用attach命令进入容器过后,使用exit退出,那么容器也会终止

 

exec命令(最常使用)

Docke自1.3版本起,提供了一个更加方便的工具exec,可以直接在容器内运行命令。例如进入到刚创建的容器中,并启动一个bash:

docker exec -it 容器id  /bin/bash

注意:使用了exec命令进入容器,exit退出容器时不会终止容器

 

例子:进入mytomcat5,输出文件列表

 

        退出容器

#如果docker容器在启动的时候没有加 -d 参数

exit # 会直接停止容器并退出

Ctrt + p + q # 容器不停止 并退出

 

        删除容器

语法格式:

docker rm 容器id

参数:

  • -f, --force=false强行终止并删除一个运行中的容器。
  • -l, --link=false删除容器的连接,但保留容器。
  • -V,--volumes=false删除容器挂载的数据卷。

 例子:强制终止并删除mytomcat5容器

 

 重点:各种参数的作用

一、选项说明

官方文档:https://docs.docker.com/engine/reference/commandline/run/

  • -p 映射端口 宿主机端口号:容器内应用端口
  • -P 随机端口
  • --name容器的名字

 

核心命令

        日志命令

语法格式:

docker logs 容器id

参数:

  • -f, --follow 跟踪实时日志
  • --since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
  • --tail string 从日志末尾显示多少行日志, 默认是all
  • -t, --timestamps 显示时间戳
  • --until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

        查看容器里面的进程

语法格式:

docker top 容器id

        从容器拷贝文件到主机上

语法格式:

docker cp 容器id:容器内路径   目录路径

Docker数据管理

        什么是数据卷

什么是容器数据卷

Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷(Data Volume)

思考

  • Docker容器删除后,在容器中产生的数据还在吗?

  • Docker容器和外部机器可以直接交换文件吗?

  • 容器之间能进行数据交互?

数据卷概念

  • 数据卷是宿主机中的一个目录或文件。
  • 当容器目录和数据卷目录绑定后,对方修改会立即同步。
  • 一个数据卷可以同时被多个容器同时挂载。
  • 一个容器也可以被挂载多个数据卷。

数据卷作用

  • 容器数据持久化。
  • 外部机器和容器间接通信。
  • 容器之间数据交换。

 

一句话:

卷技术就是为了实现数据的持久化和同步操作,容器间也是数据共享。

 

        配置数据卷

docker run  -v 宿主机目录(文件):容器内目录(文件)

注意事项

  1. 目录必须是绝对路径
  2. 如果目录不存在则会自动创建
  3. 可以挂载多个数据卷

示例

给Tomcat服务器挂载/opt/webapps路径。

docker run -d --name mytomcat -p 8080:8080 -v /opt/webapps:/usr/local/tomcat/webapps tomcat

 

        数据卷容器

 

Volume基本使用

参数:

 create # 创建数据卷 

inspect #查看数据卷元数据 

ls #查看数据卷列表

 prune #删除所有未使用的卷

 rm #删除数据卷

 

 

创建一个自定义容器

docker volume create 容器数据卷名

查看所有容器卷

docker volume ls

查看指定容器卷详情信息

docker volume inspect 容器数据卷名

删除数据卷

docker volume rm 容器数据卷名

使用指定卷容器

有了自定义容器卷,我们可以创建一个使用这个数据卷的容器,这里我们以tomcat为例:

docker run -d -it --name=容器数据卷名 -p 8080:8080 -v 容器数据卷名:/usr/local/tomcat/webapps tomcat

注意:

-v代表挂载数据卷,这里使用自定数据卷edc-tomcat-vol,并且将数据卷挂载到/usr/local/tomcat/webapps 。如果没有通过-v指定,那么Docker会默认帮我们创建匿名数据卷进行映射和挂载。

 

DockerFile

        构建镜像

简单示例

在一个空白的文本文件, 命名必须为Dockerfile

vim  Dockerfile

示例1

Dockerfile文件内容:

#基础镜像

FROM centos

#维护者

MAINTAINER baizhan<baizhan@163.com>

#运行命令

RUN "yum install wget"

#启动容器运行命令

CMD echo "hello Dockerfile"

示例2

Dockerfile文件内容:

FROM java:8

MAINTAINER WCC

CMD java -version

构建镜像命令

docker build -t 镜像名字:版本 .

注意

. 代表Dockerfile文件在当前路径

 

        常见的13种指令

 

FROM

指定基础镜像,必须为第一个命令。

指令格式:

FROM <image>

FROM <image>:<tag>

注意:

tag或digest是可选的,如果不使用这两个值时,会使用latest版本的基础镜像

 

MAINTAINER

维护者信息

指令格式:

MAINTAINER <name>

示例

 MAINTAINER Jasper Xu   MAINTAINER sorex@163.com 

WORKDIR

工作目录,类似于cd命令

指令格式:

WORKDIR /usr/workdir

示例

WORKDIR /a  (这时工作目录为/a)

WORKDIR b  (这时工作目录为/a/b)

WORKDIR c  (这时工作目录为/a/b/c)

示例

WORKDIR /OPT

RUN mkdir docker

WORKDIR /usr/local

RUN echo "test" > a.info

注意: 通过WORKDIR设置工作目录后,Dockerfile中其后的命令RUN、CMD、ENTRYPOINT、ADD、COPY等命令都会在该目录下执行。在使用docker run运行容器时,可以通过-w参数覆盖构建时所设置的工作目录。

 

RUN

构建镜像时执行的命令

指令语法:

# 1. shell执行

格式 RUN<command>

# 2. exec执行

格式 RUN["executable", "param1", "param2"]

示例

WORKDIR /OPT

RUN mkdir docker

WORKDIR /usr/local

RUN echo "test" > a.info

注意:

RUN指令创建的中间镜像会被缓存,并会在下次构建中使用。如果不想使用这些缓存镜像,可以在构建时指定--no-cache参数,如:docker build --no-cache

 

ADD

将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget。

指令格式:

 ADD <src>... <dest> 

 ADD ["<src>",... "<dest>"] 用于支持包含空格的路径示例: 

示例

添加所有以"hom"开头的文件

ADD hom* /mydir/

? 替代一个单字符,例如:"home.txt"

ADD hom?.txt /mydir/  

添加 "test" 到 WORKDIR/relativeDir/

ADD test relativeDir

添加 "test" 到 /absoluteDir/

ADD test /absoluteDir/

 

COPY

功能类似ADD,但是是不会自动解压文件,也不能访问网络资源。

语法格式:

COPY <源路径>  <目标路径>

示例

COPY ./start.sh /start.sh

 

CMD

构建容器后调用,也就是在容器启动时才进行调用。指定这个容器启动的时候要运行的命令只有最后一个会生效可被替换。

指令格式:

CMD指令与RUN指令相似,也具有两种格式:

1. shell格式:CMD <命令>

2. exec格式: CMD ["可执行文件", "参数1", "参数2", …]

示例

CMD echo "This is a test." | wc -

CMD ["/usr/bin/wc","--help"]

注意: CMD不同于RUN,CMD用于指定在容器启动时所要执行的命令,而RUN用于指定镜像构建时所要执行的命令。

 

ENTRYPOINT

配置容器,使其可执行化。配合CMD可省去"application",只使用参数。

指定容器启动的要运行的命令,可以追加命令

指令格式:

ENTRYPOINT ["executable", "param1", "param2"]

ENTRYPOINT command param1 param2 (shell内部命令)

示例

ENTRYPOINT ["top", "-b"]

注意:

ENTRYPOINT与CMD非常类似,不同的是通过docker run执行的命令不会覆盖ENTRYPOINT,而docker run命令中指定的任何参数,都会被当做参数再次传递给ENTRYPOINT。Dockerfile中只允许有一个ENTRYPOINT命令,多指定时会覆盖前面的设置,而只执行最后的ENTRYPOINT指令。

 

ENV

这个指令非常简单,就是用于设置环境变量而已,无论是接下来的指令,还是在容器中运行的程序,都可以使用这里定义的环境变量。

指令格式:

ENV <key>=<value>

示例

ENV JAVA_HOME=/usr/local/jdk1.7.0_79

ENV PATH=$JAVA_HOME/bin:$PATH

 

EXPOSE

指定于外界交互的端口

指令格式:

EXPOSE

示例

EXPOSE 80

注意:

EXPOSE并不会让容器的端口访问到主机。要使其可访问,需要在docker run运行容器时通过-p来发布这些端口,或通过-P参数来发布EXPOSE导出的所有端口。

 

VOLUME

用于指定持久化目录

指令格式:

VOLUME ["/path/to/dir"]

示例

VOLUME ["/data"]

VOLUME ["/var/www", "/var/log/apache2"]

注意:

一个卷可以存在于一个或多个容器的指定目录,该目录可以绕过联合文件系统,并具有以下功能:

1 卷可以容器间共享和重用

2 容器并不一定要和其它容器共享卷

3 修改卷后会立即生效

4 对卷的修改不会对镜像产生影响

5 卷会一直存在,直到没有任何容器在使用它

 

USER

USER指令用于将会用以什么样的用户去运行

指令格式:

USER user

USER user:group

注意:

使用USER指定用户后,Dockerfile中其后的命令RUN、CMD、ENTRYPOINT都将使用该用户。镜像构建完成后,通过docker run运行容器时,可以通过-u参数来覆盖所指定的用户。

 

ONBUILD

帮助别人定制而准备的

指令格式:

ONBUILD[INSTRUCTION]

示例

FROM centos

WORKDIR /data

ONBUILD RUN mkdir test

FROM test:02

 

        CMD和MAINTAINER的区别 

区别:

  • CMD #指定这个容器启动的时候要运行的命令,可被替换
  • ENTRYPOINT #指定这个容器启动的时候要运行的命令,可以追加命令

 

例子

Dockerfile文件

#基础镜像

from centos

#启动容器运行命令

CMD ["ls" ,"-a"]

构建镜像

docker build -t test:v1 .

此时如果运行一下命令则会报错

docker run test:v1 -l

但是如果把CMD换成ENTRYPOINT则可运行,因为CMD是将["ls" ,"-a"]替换为-l,而ENTRYPOINT是在["ls" ,"-a"]后面追加-l

 

公有云

        发布镜像到DockerHub

创建仓库

设置仓库信息

注意:

DockerHub  Docker Hub

 

发布基本命令

注册docker账号

docker login --username=kalista

注意:

填写注册Docker Hub的密码。

 

把容器提交到docker hub上

docker commit -m "镜像描述" -a "作者" 容器id/容器名字 远程库的名字:上传到docker hub上的名字

注意:

  • -m 镜像描述
  • -a 作者

 

将镜像,容器,远程库进行标识

docker tag 镜像id 远程库的名字:上传到docker hub上的名字

将于远程库有标识关系的库提交

docker push 远程库的名字:上传到docker hub上的名字

 

        发布镜像到阿里云

创建仓库

创建镜像仓库

设置命名空间和仓库名字

登录阿里云Docker Registry

docker login --username=1858778****@163.com registry.cn-hangzhou.aliyuncs.com

注意:

用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。您可以在访问凭证页面修改凭证密码。

 

将镜像推送到Registry

docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/kalista/mytomcat:[镜像版本号]$

 

将镜像,容器,远程库进行标识

docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/kalista/mytomcat:[镜像版本号]

 

将于远程库有标识关系的库提交

docker push registry.cn-hangzhou.aliyuncs.com/kalista/mytomcat:[镜像版本号]

 

从Registry中拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/kalista/mytomcat:[镜像版本号]

代码都是在阿里云对应仓库中有对应的

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

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

相关文章

【JavaEE】一文掌握 Ajax

&#x1f431;‍&#x1f3cd;目录1. AJAX 简介2. 伪造Ajax演示3. jQuery.ajax3.1 简单测试&#xff0c;使用最原始的HttpServletResponse处理3.2 使用ajax动态构建前端表格3.3 登录提示效果小demo4. 练习小demo&#xff0c;实现百度搜索框的动态内容提示5. 总结&#xff1a;1.…

纸牌游戏洗牌发牌排序算法设计

纸牌游戏洗牌发牌排序算法设计 本文提供纸牌游戏设计制作的基础部分&#xff0c;即洗牌&#xff0c;发牌&#xff0c;牌张排序排列显示的算法。 以及游戏开始时间使用时间的显示。我是用简单的C语言编译器MySpringC在安卓手机上编写的。此是游戏的框架&#xff0c;供游戏设计者…

计算机网络4小时速成:网络层,虚电路和数据包服务,ipv4,ABC类地址,地址解析协议ARP,子网掩码,路由选择协议,路由器

计算机网络4小时速成&#xff1a;网络层&#xff0c;虚电路和数据包服务&#xff0c;ipv4,ABC类地址&#xff0c;地址解析协议ARP&#xff0c;子网掩码&#xff0c;路由选择协议&#xff0c;路由器 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;…

关于瑞萨R7 的CANFD切换为经典CAN

首先,R7的CANFD是兼容CAN通讯的&#xff0c;在R7芯片他们公用相同的寄存器&#xff0c;至于发出来的帧是CANFD还是CAN取决于协议的不同。 CANFD是可变速率数据段为可变长度&#xff0c;扩展到64Byte&#xff0c;仲裁段和数据段的速率不相同。CANFD新增了FDF,BRS,ESI。FDF表示是…

牛客_小白月赛_61

传送门 A 如果不是特意防止溢出了&#xff0c;那么需要用long,否则会一直卡 很普通的写法,超了就 1, 最后补上一个 1就行 (所以, 这题我wa了8次, 卡了半个小时,就是因为没开 long ! ! !) package com.csh.A; /*** author :Changersh* date : 2022/11/18*/import java.io.*; i…

day02 springmvc

day02 springmvc 第一章 RESTFul风格交互方式 第一节 RESTFul概述 1. REST的概念 REST&#xff1a;Representational State Transfer&#xff0c;表现层资源状态转移。 定位&#xff1a;互联网软件架构风格倡导者&#xff1a;Roy Thomas Fielding文献&#xff1a;Roy Thom…

Android源码学习---init

init&#xff0c;是linux系统中用户空间的第一个进程&#xff0c;也是Android系统中用户空间的第一个进程。 位于/system/core/init目录下。 分析init int main(int argc, char **argv) { //设置子进程退出的信号处理函数 sigchld_handler act.sa_handler sigchld_handler;…

【博学谷学习记录】超强总结,用心分享丨人工智能 Python面向对象 学习总结之Python与Java的区别

目录前言简述面向对象类对象特性前言 经过学习&#xff0c;对Python面向对象部分有了一定的了解。 总结记录&#xff1a;面向对象上Python与Java的部分区别 简述 从类、对象、特性三个层面来简述其部分区别 面向对象 类 PythonJava定义class ClassName(object):passpubl…

2000-2020年各省固定资本存量数据

2000-2020年各省资本存量数据 1&#xff1a;来源&#xff1a;统计NJ、各省统计NJ 2、时间&#xff1a;2000-2020年 3、包括&#xff1a;30个省 4、数据说明&#xff1a;含原始数据和计算过程及最终结果 4、指标说明&#xff1a; 参考文献&#xff1a; 单豪杰&#xff08;…

【微服务架构组件之注册中心】注册中心选型-我只选nacos

注册中心的产生是基于用来解耦服务提供者(Provider)与消费者&#xff08;Consumer&#xff09;的关系&#xff0c;分布式设计架构下&#xff0c;众多的服务提供者的数量并不是动态不变的&#xff0c;在传统的静态LB的方案中&#xff0c;无法很好感知这种变化&#xff1b; 在分…

[附源码]java毕业设计网上宠物商店

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

进度条——不仅仅是语言层面上的小程序

文章目录\r和\n进度条完整代码\r和\n 在老式键盘上&#xff0c;回车键是这样的形状 但是该键的功能它不仅仅是回车&#xff0c;而是回车换行&#xff01; 这里需要明白两个概念&#xff1a; 回车&#xff1a;光标移动到当前行的行首 换行&#xff1a;光标移动到当前位置的…

跟艾文学编程《Python基础》Anaconda 安装

作者&#xff1a;艾文&#xff0c;计算机硕士学位&#xff0c;企业内训讲师和金牌面试官&#xff0c;公司资深算法专家&#xff0c;现就职BAT一线大厂。 邮箱&#xff1a;1121025745qq.com 博客&#xff1a;https://edu.csdn.net/lecturer/894?spm1003.2001.3001.4144 内容&am…

原生AJAX

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;微微的猪食小窝 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 微微的猪食小窝 原创 1、AJAX 简介 AJAX 全称为Asynchronous Javascript And XML,就是异步的JS 和 XML. 通过AJAX可以在浏览器中向服务器…

Vue3留言墙项目——主体部分静态、mock

文章目录主体头部主体关键部分小卡片组件创建mock数据以及使用主体头部 主体部分显示的内容&#xff0c;根据头部点击的是留言墙还是照片墙的按钮&#xff0c;显示不同的内容。 将照片墙和留言墙要渲染的数据抽取到一个js中&#xff0c;在导入的Main.vue&#xff08;主体页面&…

[go]汇编ASM简介

文章目录汇编(ASM)寄存器帧指针FP常见指令函数示例生成汇编Go汇编代码主要用于优化和与底层系统交互&#xff0c;并不会像其它的经典汇编代码那样独立运行。汇编(ASM) Go ASM是一种被Go编译器使用的特殊形式的汇编语言&#xff08;伪汇编&#xff09;&#xff0c;它基于Plan9输…

记录一次Powerjob踩的坑(Failed to deserialize message)

一. 问题描述: 在本地开发环境, server端和worker都运行正常. 但是发布到SIT环境(容器)的时候, 服务端却监测不到worker(worker可以找到服务端) 二. 问题表现: 1.服务端看不到Worker信息 2. 服务端日志信息 : Failed to deserialize message from [akka://oms111.111.111…

ECMAScript modules规范示例详解

引言 很多编程语言都有模块这一概念&#xff0c;JavaScript 也不例外&#xff0c;但在 ECMAScript 2015 规范发布之前&#xff0c;JavaScript 没有语言层面的模块语法。模块实际上是一种代码重用机制&#xff0c;要实现代码重用&#xff0c;将不同的功能划分到不同的文件中是必…

pycharm安装并加载编译器,设置背景图片,手把手详细操作

pycharm安装并加载编译器&#xff0c;设置背景图片&#xff0c;手把手详细操作 pycharm社区版&#xff08;免费&#xff09;下载官网 双击安装包&#xff0c;选择安装路径 勾选这两个&#xff0c;其实全不勾也没事 下一步默认就行&#xff0c;点install 安装完成后&#xf…

mimikatz抓取密码实战

必须下载最新版本 Releases gentilkiwi/mimikatz GitHubhttps://github.com/gentilkiwi/mimikatz/releases 有32和64之分&#xff0c;systeminfo查看自己版本 首先我们用后门得到权限&#xff0c;在用getsystem提权&#xff0c;因为mimikatz要system权限&#xff0c;getuid…