教你10分钟快速上手Docker基础操作

news2024/11/16 1:19:05

一、docker平台组成

docker最核心的组件是:镜像、容器、仓库

二、常用基础命令

1、镜像操作

(1)拉取镜像

查找指定镜像:docker search + 镜像名字

[root@client ~]# docker search centos
NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
centos                                       DEPRECATED; The official build of CentOS.       7627      [OK]       
kasmweb/centos-7-desktop                     CentOS 7 desktop for Kasm Workspaces            40                   
bitnami/centos-base-buildpack                Centos base compilation image                   0                    [OK]
couchbase/centos7-systemd                    centos7-systemd images with additional debug…   8                    [OK]
continuumio/centos5_gcc5_base                                                                3                    
datadog/centos-i386                                                                          0                    
dokken/centos-7                              CentOS 7 image for kitchen-dokken               5                    
dokken/centos-8                              CentOS 8 image for kitchen-dokken               3                    
spack/centos7                                CentOS 7 with Spack preinstalled                1                    
dokken/centos-6                              EOL: CentOS 6 image for kitchen-dokken          0                    
atlas/centos7-atlasos                        ATLAS CentOS 7 Software Development OS          0                    
couchbase/centos-72-java-sdk                                                                 0                    
spack/centos6                                CentOS 6 with Spack preinstalled                1                    
couchbase/centos-72-jenkins-core                                                             0                    
ustclug/centos                               Official CentOS Image with USTC Mirror          0                    
couchbase/centos-70-sdk-build                                                                0                    
couchbase/centos-69-sdk-build                                                                0                    
couchbase/centos-69-sdk-nodevtoolset-build                                                   0                    
eclipse/centos_jdk8                          CentOS, JDK8, Maven 3, git, curl, nmap, mc, …   5                    [OK]
dokken/centos-stream-8                                                                       4                    
adoptopenjdk/centos7_build_image                                                             1                    
corpusops/centos-bare                        https://github.com/corpusops/docker-images/     0                    
dokken/centos-stream-9                                                                       6                    
corpusops/centos                             centos corpusops baseimage                      0                    
adoptopenjdk/centos6_build_image                                                             0

拉取镜像:docker pull + 名字:tag (不加tag则默认为latest,也可以自己指定tag版本)

[root@client ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest

(2)查看镜像

查看本地镜像文件:docker images 或者 docker image ls 

[root@client ~]# docker images
REPOSITORY      TAG       IMAGE ID       CREATED         SIZE
my_nginx        latest    28faf67102d4   3 days ago      141MB
client/my_vim   latest    5bc38c82d272   4 days ago      233MB
nginx           latest    605c77e624dd   19 months ago   141MB
ubuntu          latest    ba6acccedd29   22 months ago   72.8MB
centos          latest    5d0da3dc9764   23 months ago   231MB
[root@client ~]# docker image ls
REPOSITORY      TAG       IMAGE ID       CREATED         SIZE
my_nginx        latest    28faf67102d4   3 days ago      141MB
client/my_vim   latest    5bc38c82d272   4 days ago      233MB
nginx           latest    605c77e624dd   19 months ago   141MB
ubuntu          latest    ba6acccedd29   22 months ago   72.8MB
centos          latest    5d0da3dc9764   23 months ago   231MB

只列出镜像id:docker images -aq

[root@client ~]# docker images -aq
28faf67102d4
5bc38c82d272
605c77e624dd
ba6acccedd29
5d0da3dc9764

格式化显示,关键参数--format

[root@client ~]# docker images  --format  "{{.ID}}--{{.Repository}}"
28faf67102d4--my_nginx
5bc38c82d272--client/my_vim
605c77e624dd--nginx
ba6acccedd29--ubuntu
5d0da3dc9764--centos
[root@client ~]# 
[root@client ~]# docker images  --format  "{{.ID}}****{{.Repository}}"
28faf67102d4****my_nginx
5bc38c82d272****client/my_vim
605c77e624dd****nginx
ba6acccedd29****ubuntu
5d0da3dc9764****centos

以表格形式显示

[root@client ~]# docker images --format "table  {{.ID}}\t{{.Repository}}\t{{.Tag}}"
IMAGE ID       REPOSITORY      TAG
28faf67102d4   my_nginx        latest
5bc38c82d272   client/my_vim   latest
605c77e624dd   nginx           latest
ba6acccedd29   ubuntu          latest
5d0da3dc9764   centos          latest

 查看镜像的详细信息:docker image inspect + 镜像id

[root@client ~]# docker image inspect 5d0
[
    {
        "Id": "sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6",
        "RepoTags": [
            "centos:latest"
        ],
        "RepoDigests": [],
        "Parent": "",
        "Comment": "",
        "Created": "2021-09-15T18:20:05.184694267Z",
....................
................
        }
    }
]

(3)删除镜像

删除镜像:docker rmi + 名字/id(指定id前三位即可)(被删除的镜像如果有依赖的容器记录,得先删除容器才能删除镜像)

[root@client ~]# docker rmi nginx
Untagged: nginx:latest
Untagged: nginx@sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31
Deleted: sha256:605c77e624ddb75e6110f997c58876baa13f8754486b461117934b24a9dc3a85

(4)导入与导出

导出镜像:docker image save 镜像名 -o 目标目录下的文件

[root@client ~]# mkdir img_backup
[root@client ~]# docker image save centos -o /root/img_backup/centos.bak
[root@client ~]# ll /root/img_backup/
total 232992
-rw------- 1 root root 238581248 Aug 17 08:25 centos.bak

导入镜像:docker image load -i 目标镜像文件

#先删除centos镜像
[root@client ~]# docker rmi centos
Untagged: centos:latest
Untagged: centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
[root@client ~]# docker images
REPOSITORY      TAG       IMAGE ID       CREATED         SIZE
my_nginx        latest    28faf67102d4   3 days ago      141MB
client/my_vim   latest    5bc38c82d272   4 days ago      233MB
ubuntu          latest    ba6acccedd29   22 months ago   72.8MB

#导入镜像文件
[root@client ~]# docker image load -i /root/img_backup/centos.bak 
Loaded image: centos:latest
[root@client ~]# docker images
REPOSITORY      TAG       IMAGE ID       CREATED         SIZE
my_nginx        latest    28faf67102d4   3 days ago      141MB
client/my_vim   latest    5bc38c82d272   4 days ago      233MB
ubuntu          latest    ba6acccedd29   22 months ago   72.8MB
centos          latest    5d0da3dc9764   23 months ago   231MB

2、容器操作

查看docker服务的详细信息:docker info

[root@client ~]# docker info
Client: Docker Engine - Community
 Version:    24.0.5
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
.......
.......
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://8xpk5wnt.mirror.aliyuncs.com/
 Live Restore Enabled: false

(1)容器的运行与删除

运行容器:docker run命令

常用选项:

-t打开一个终端,像使用交换机一样使用容器
-i交互式访问
--name给容器命名
--network指定网络
-rm停止容器,则自动删除容器
-d后台运行容器,返回容器ID
-p(小写)端口映射,格式为:主机/宿主端口:容器端口
-P(大写)随机端口映射,不需要指定,容器内部的端口映射到主机随机的端口

a.容器运行示例1:

以交互式进入、打开终端并以bash进程运行一个容器

该容器是运行centos镜像生成的容器实例,可以发现也能用一些基础命令,如ls,使用命令exit即可退出

[root@client ~]# docker run -it centos bash
[root@2f9cbbe467c4 /]# 
[root@2f9cbbe467c4 /]# ls
bin  etc   lib	  lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr
[root@2f9cbbe467c4 /]# exit
exit

查看容器:docker ps

不加 -a 则查看的是正在运行的容器,目前没有正在运行的容器;加上 -a 则可以看到刚才运行过的所有容器

[root@client ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@client ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED          STATUS                      PORTS     NAMES
2f9cbbe467c4   centos    "bash"    44 minutes ago   Exited (0) 42 minutes ago             trusting_stonebraker

b.容器运行示例2:

我们给新运行的容器命名为test1,然后退出容器没有用exit,但是容器却还在运行,这是因为我用的ctrl+p+q退出的,这样的退出方式不会停止容器的运行

[root@client ~]# docker run -it --name test1 centos bash
[root@5d38ff8d0ab4 /]# 
[root@5d38ff8d0ab4 /]# 
[root@5d38ff8d0ab
[root@client ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED          STATUS          PORTS     NAMES
5d38ff8d0ab4   centos    "bash"    44 seconds ago   Up 44 seconds             test1

我们用exec命令即可进入正在运行的容器

[root@client ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED         STATUS         PORTS     NAMES
5d38ff8d0ab4   centos    "bash"    5 minutes ago   Up 5 minutes             test1
[root@client ~]# docker exec -it 5d3 bash
[root@5d38ff8d0ab4 /]# 
[root@5d38ff8d0ab4 /]# exit
exit

其他docker run的常用选项大家可以自行再去尝试,例如-d后台运行等,我就不一一演示完了

停止容器:docker stop + 容器id

运行一个停止的容器:docker start + 容器id

[root@client ~]# docker stop 5d3
5d3
[root@client ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

c.删除容器

接下来删除容器:docker rm + 容器id

[root@client ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND               CREATED          STATUS                      PORTS     NAMES
5d38ff8d0ab4   centos    "bash"                9 minutes ago    Exited (0) 2 minutes ago              test1
447edf2e6536   centos    "--name test1 bash"   10 minutes ago   Created                               angry_jones
2f9cbbe467c4   centos    "bash"                58 minutes ago   Exited (0) 56 minutes ago             trusting_stonebraker
[root@client ~]# docker rm 5d3
5d3
[root@client ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND               CREATED          STATUS                      PORTS     NAMES
447edf2e6536   centos    "--name test1 bash"   10 minutes ago   Created                               angry_jones
2f9cbbe467c4   centos    "bash"                59 minutes ago   Exited (0) 57 minutes ago             trusting_stonebrake

删除全部的容器:docker rm $(docker ps -aq)

[root@client ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND               CREATED             STATUS                      PORTS     NAMES
447edf2e6536   centos    "--name test1 bash"   11 minutes ago      Created                               angry_jones
2f9cbbe467c4   centos    "bash"                About an hour ago   Exited (0) 58 minutes ago             trusting_stonebraker
[root@client ~]# docker rm $(docker ps -qa)
447edf2e6536
2f9cbbe467c4
[root@client ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@client ~]# 

(2)容器其他相关信息查看

查看容器日志:docker logs + 容器id

[root@client ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED         STATUS                     PORTS     NAMES
11822e8c3b38   centos    "bash"    6 minutes ago   Exited (0) 2 minutes ago             trusting_hawking
[root@client ~]# docker logs 118
[root@11822e8c3b38 /]# exit
exit
[root@11822e8c3b38 /]# exit
[root@client ~]# 

查看容器运行的详细信息: docker container inspect + 容器id

[root@client ~]# docker container inspect 118
[
    {
        "Id": "11822e8c3b388ebea6abcdde10896db5c11aa35a5f3493a4e467bb5c55bd413c",
        "Created": "2023-08-17T09:50:58.019924688Z",
        "Path": "bash",
        "Args": [],
        "State": {
            "Status": "exited",
            "Running": false,
            "Paused": false,
 .................................
................................

                    "MacAddress": "",
                    "DriverOpts": null
                }
            }
        }
    }
]

查看容器端口转发情况:docker port + 容器id

#拉取nginx镜像
[root@client ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
a2abf6c4d29d: Already exists 
a9edb18cadd1: Already exists 
589b7251471a: Already exists 
186b1aaa4aa6: Already exists 
b4df32aa5a72: Already exists 
a0bcbecc962e: Already exists 
Digest: sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

#运行镜像生成容器,-p指定端口映射
[root@client ~]# docker run -d -p 85:80 nginx
f82c0d54593c96daf2e9b0652dc8bf35d5bfc2003158d6abfaa143d8dd38bc87

#查看端口转发情况
[root@client ~]# docker port f82
80/tcp -> 0.0.0.0:85
80/tcp -> [::]:85


#也可以使用大写的P来使用随机端口映射
[root@client ~]# docker run -d -P nginx
11c630580399c409247b990cb94130129e1e3d485928130fbd6864c6e3720ed3

#使用命令就可以知道随机的端口号是49153
[root@client ~]# docker port 11c
80/tcp -> 0.0.0.0:49153
80/tcp -> [::]:49153
[root@client ~]# 

(3)容器的提交

示例:运行基础的centos镜像,在容器内安装vim,然后提交新的镜像。通过运行新的镜像再运行出来的容器,默认就携带了vim了

[root@client ~]# docker run -it centos bash
[root@651c0fe0e77d /]# yum install vim -y

提交容器:docker commit 容器id 新的镜像名

#提交容器,并命名为client/my_vim
[root@client ~]# docker commit 651c0fe0e77d client/my_vim
sha256:5bc38c82d2726cf303b96bf4ad65166f7112ee0b350bf5d1f5d394b8b721b4ed

#新的镜像因为下载了vim之类的。所以肯定比基础的centos镜像大
[root@client ~]# docker images
REPOSITORY      TAG       IMAGE ID       CREATED          SIZE
client/my_vim   latest    5bc38c82d272   12 seconds ago   233MB
nginx           latest    605c77e624dd   19 months ago    141MB
ubuntu          latest    ba6acccedd29   22 months ago    72.8MB
centos          latest    5d0da3dc9764   23 months ago    231MB

后面再去运行这个提交的新镜像,就会默认携带vim了

三、dockerfile的制作

1、dockerfile的主要组成部分

基础镜像信息(如:FROM centos:xxx)

制作镜像操作指令(如:RUN yum install xxx -y)

容器启动时执行指令(如:CMD ["/bin/bash"])

2、dockerfile指令

FROM指定基础镜像
MAINTAINER指定维护者信息
RUN后面跟想要执行的命令
ADD拷贝文件,会自动解压,官方推荐使用COPY
COPY复制文件,对文件不做任何修改,完全一样
WORKDIR设置当前工作目录
VOLUME设置卷,挂载主机目录
EXPOSE指定对外的端口
CMD指定容器启动之后要执行的
ENV环境变量
ENTRYPOINT容器启动后执行的命令(与CMD存在区别)

CMD ["/bin/bash"] =>等同于命令行的直接操作 docker run -it centos bash

CMD ["cat","/etc/os-release"] => 等同于命令行的直接操作 docker run -it centos cat /etc/os-release

tips:ENTRYPOINT和CMD的区别?

作用都是指定容器启动程序以及参数; 但是当指定了ENTRYPOINT之后,CMD指令的语义就有了变化,是把CMD的内容当作参数传递给了ENTRYPOINT指令

 3、dockerfile制作过程

下面以一个简单的nginx案例来演示

(1)编写dockerfile脚本文件

[root@client ~]# mkdir docker_test
[root@client ~]# cd docker_test/
[root@client docker_test]# vim Dockerfile
#编辑以下内容到Dockerfile中
FROM nginx
RUN echo "this is a dockerfile test" > /usr/share/nginx/html/index.html
#保存退出

(2)构建dockerfile

docker build .

如果不想用构建过的缓存可以这样:docker build --no-cache .

注意,两个命令后面都跟上的是点“.”

#构建
[root@client docker_test]# docker build .
[+] Building 1.0s (5/6)                                                                                    docker:default
 => [internal] load build definition from Dockerfile                                                                 0.0s
 => => transferring dockerfile: 120B                                                                                 0.0s
 => [internal] load .dockerignore                                                                                    0.0s
 => => transferring context: 2B                                                                                      0.0s
 => [internal] load metadata for docker.io/library/nginx:latest                                                      0.0s
 => CACHED [1/2] FROM docker.io/library/nginx                                                                        0.9s
 => [2/2] RUN echo "this is a dockerfile test" > /usr/share/nginx/html/index.html                                    0.9s
 => exporting to image                                                                                               0.0s
 => => exporting layers                                                                                              0.0s
 => => writing image sha256:9a0b6b17263f50ee29b2587ceea32dc79c23f53dc8b4b4935b563f0bfd7b8836                         0.0s

#查看新构建的镜像,默认是没有名字的,REPOSITORY和TAG都是<none> 
[root@client docker_test]# docker images
REPOSITORY            TAG       IMAGE ID       CREATED          SIZE
<none>                <none>    9a0b6b17263f   31 seconds ago   141MB
my_nginx              latest    28faf67102d4   4 days ago       141MB
client/my_vim         latest    5bc38c82d272   4 days ago       233MB
nginx                 latest    605c77e624dd   19 months ago    141MB
redhat/ubi8-minimal   latest    0e1c0c70dbc5   20 months ago    103MB
ubuntu                latest    ba6acccedd29   22 months ago    72.8MB
centos                latest    5d0da3dc9764   23 months ago    231MB

#更改新镜像的名字:docker tag 镜像id 所取镜像名 
[root@client docker_test]# docker tag 9a0 nginx_test

#然后就可以查看到一个叫nginx_test的镜像啦
[root@client docker_test]# docker images
REPOSITORY            TAG       IMAGE ID       CREATED              SIZE
nginx_test            latest    9a0b6b17263f   About a minute ago   141MB
my_nginx              latest    28faf67102d4   4 days ago           141MB
client/my_vim         latest    5bc38c82d272   4 days ago           233MB
nginx                 latest    605c77e624dd   19 months ago        141MB
redhat/ubi8-minimal   latest    0e1c0c70dbc5   20 months ago        103MB
ubuntu                latest    ba6acccedd29   22 months ago        72.8MB
centos                latest    5d0da3dc9764   23 months ago        231MB
[root@client docker_test]# 

(3)运行新镜像

运行刚才生成的新镜像,生成一个容器实例

#我们后台运行(-d),随便用一个88号端口来做端口映射(-p)
[root@client docker_test]# docker run -d -p 88:80 nginx_test
a23faeb0353b5e77d0ddcc097332a3e1d2f15c1498c0d8c77b2e050c7a2c7712
[root@client docker_test]# 

(4)检测

通过主机的ip加上刚才的88号端口,到浏览器查看

测试成功,最后,看到这里,相信你已经年薪80w+了,恭喜您!

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

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

相关文章

VirtualBox安装CentOS8.5

0 环境 win10 virtualbox版本 版本 7.0.10 r158379 (Qt5.15.2) 1.镜像下载 阿里镜像站 https://developer.aliyun.com/mirror/ 1.1 找到安装包下载地址 1.2 找到8.5版本 1.3 iso 再然后 1.4 选择安装包 我这里选的是最小安装包&#xff0c;centOS8.5最小安装版本&#…

【边缘设备】yolov5训练与rknn模型导出并在RK3588部署~4.导出模型(亲测有效)

保姆级教程&#xff0c;看这一篇就够用了。 在翻阅了网络上很多资料后&#xff0c;发现很多版本的信息比匹配。 花了一周的时间配置环境&#xff0c;以及环境验证&#xff0c;然后写了这篇长文。 有过程&#xff0c;有代码&#xff0c;有经验&#xff0c;欢迎大家批评指正。 一…

linux部署kafka3.5.1(单机)

一、下载jdk17 kafka3.x版本需要jdk11以上版本才能更好的兼容&#xff0c;jdk11、jdk17都是LTS长期维护版本&#xff0c;而且jdk17支持springboot3.x,所以我选择了openjdk17。 下载地址: Archived OpenJDK GA Releaseshttps://jdk.java.net/archive/ 二、上传jdk安装包解压 …

Linux 终端会话中,启动任务并放到后台运行

一、需求 linux要执行一个脚本&#xff0c;耗时很长&#xff0c;想要脚本在后台运行&#xff0c;用户注销或终端软件关闭时也可以继续运行。 二、实现 1、nohup命令 脚本在后台运行 nohup 是在 Linux 和类 Unix 系统中使用的一个命令&#xff0c;用于在后台运行程序&#x…

【ES6】—解构赋值

一、定义 解构赋值&#xff1a;解构赋值就是一种模式的匹配&#xff0c;只要等号两边的模式完全相同的&#xff0c;那么左边的变量就会被赋值对应右边的值 二、数组的解构赋值 PS&#xff1a;数组解构赋值时&#xff0c;是通过索引的唯一性赋值的 1. 一维数组解构赋值 (1)…

亿赛通电子文档安全管理系统任意文件上传漏洞(2023-HW)

亿赛通电子文档安全管理系统任意文件上传漏洞 一、 产品简介二、 漏洞概述三、 影响范围四、 复现环境五、 漏洞复现小龙POC检测 免责声明&#xff1a;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果…

ADIS16470和ADIS16500从到手到读出完整数据,附例程

由于保密原因&#xff0c;不能上传我这边的代码&#xff0c;我所用的开发环境是IAR&#xff0c; 下边转载别的博主的文章&#xff0c;他用的是MDK 下文的博主给了你一个很好的思路&#xff0c;特此提出表扬 最下方是我做的一些手册批注&#xff0c;方便大家了解这个东西 原文链…

Github下载任意版本的VsCode

下载历史版本VsCode(zip) 下载链接由三部分组成&#xff1a; 固定部分commit idVSCode-win32-x64-版本号.zip 固定部分&#xff1a; https://vscode.cdn.azure.cn/stable/ Commit id&#xff1a; 打开 vscode的GitHub&#xff1a;[https://github.com/microsoft/vscode/r…

Code interpreter生成无聊的APP:病理图像切割和提取

一、写在前面 机器学习100步不够分配了&#xff0c;所以开个新专栏&#xff0c;就叫做《Code interpreter生成无聊的APP》&#xff0c;旨在探索GPT-4官方插件Code interpreter的使用心路历程。 主要灵感来源&#xff1a;听户主说&#xff0c;她们在做病理组学图像标注和分割的…

作品集封面这样设计,提升个人竞争力!

随着毕业季、求职季陆陆续续的到来&#xff0c;许多毕业生和求职者都将踏上找工作的道路。作品集作为敲门砖&#xff0c;对设计师来说非常重要。而一套完整的作品集自然少不了一张精致吸睛的个人作品集封面&#xff0c;作品集封面的质量直接影响了整套作品的效果。那么&#xf…

Spring Clould 注册中心 - Eureka,Nacos

视频地址&#xff1a;微服务&#xff08;SpringCloudRabbitMQDockerRedis搜索分布式&#xff09; Eureka 微服务技术栈导学&#xff08;P1、P2&#xff09; 微服务涉及的的知识 认识微服务-服务架构演变&#xff08;P3、P4&#xff09; 总结&#xff1a; 认识微服务-微服务技…

原生实现koa框架连接mongoose数据库

1.首先新建一个初始化文件 npm init -y2.下载koa框架所依赖的插件 npm i koa koa-bodyparser koa-router mongoose3.新建一个server.js文件作为我们的服务器 const Koa require(koa) const Router require(koa-router) //可以接受post请求 const bodyParser require(koa-b…

【Spring Cloud 八】Spring Cloud Gateway网关

gateway网关 系列博客背景一、什么是Spring Cloud Gateway二、为什么要使用Spring Cloud Gateway三、 Spring Cloud Gateway 三大核心概念4.1 Route&#xff08;路由&#xff09;4.2 Predicate&#xff08;断言&#xff09;4.3 Filter&#xff08;过滤&#xff09; 五、Spring …

rabbitMQ服务自动停止(已解决

1、 在rabbitmq的sbin目录下操作 rabbitmq-plugins enable rabbitmq_management 2、 自己去rabbitmq_server-3.7.5文件夹下创建一个data&#xff0c;再执行这个命令&#xff08;用自己的目录哈 set RABBITMQ_BASED:\RabbitTools\RabbitMQ\rabbitmq_server-3.7.5\data 然后去配…

PHP手术麻醉系统源码,自动生成麻醉和护理医疗文书

一套手术麻醉系统源码&#xff0c;可二次开发 手术室麻醉临床信息系统&#xff08;AIMS&#xff09;是应用于医院手术室、麻醉科室的计算机软件系统。该系统针对整个围术期&#xff0c;对病人进行全程跟踪与信息管理&#xff0c;自动集成病人HIS、LIS、RIS、PACS信息&#xff0…

实现chatGPT 聊天样式

效果图 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Chat Example</title&g…

axios使用axiosSource.cancel取消请求后怎么恢复请求,axios取消请求和恢复请求实现

在前端做大文件分片上传&#xff0c;或者其它中断请求时&#xff0c;需要暂停或重新请求&#xff0c;比如这里大文件上传时&#xff0c;可能会需要暂停、继续上传&#xff0c;如下GIF演示&#xff1a; 这里不详细说文件上传的处理和切片细节&#xff0c;后续有时间在出一篇&a…

Viobot ROS主从机配置

本篇介绍如何配置Viobot的ROS主从机&#xff0c;设备已经默认配好了主机的大部分设置&#xff0c;由于涉及到开机自启动&#xff0c;所以主机必须是Viobot。 以虚拟机ubuntu20.04为例。 1.从机配置 虚拟机终端输入命令,输入密码&#xff0c;按下图修改文件&#xff0c;保存…

途乐证券-上证指数有哪些股票组成?

上证指数是我国股市最重要的指数之一&#xff0c;它由上海证券交易所根据必定的计算方法加权均匀得出来的数据&#xff0c;是我国股市中重要的股票指数之一。那么&#xff0c;上证指数有哪些股票组成呢&#xff1f;让我们从多个视点剖析。 首先&#xff0c;从职业散布视点看&am…

数据流中的中位数

解题思路一&#xff1a; import java.util.*;public class Solution {//用栈来存储所有数据Stack<Integer> s new Stack<Integer>();//入栈public void Insert(Integer num) {s.push(num);}//出栈public Double GetMedian() {Double result 0.0;if(s.size() <…