doctor技术基础

linux环境下的dokcer镜像环境搭建部署 实现公网环境下镜像的搭建,部署以及使用 阅读详情

一、容器和虚拟化区别:

1、结构上的区别

KVM全虚:,由kvm组件做虚拟化资源,vmm为抽象层以软件形式,由QUMU调用内核供给虚拟机,或者叫寄居型
在这里插入图片描述
EXSI半虚,完整性架构在裸金属上的,可以直接利用内核物理性能,
在这里插入图片描述
容器
在这里插入图片描述

2、特性上的区别

在这里插入图片描述
vm需要模拟出来宾操作系统,

不同点containerVM
启动速度秒级分钟级
运行性能接近原生(直接在内核中运行)50%左右损失
磁盘占用MBGB
可运行数量成百上千一般几十台
隔离性进程级别系统级别(更彻底)
操作系统主要支持Linux几乎所有
封装程度只打包项目代码和依赖关系,共享宿主机内核完整的操作系统,与宿主机隔离
环境搭建可以在创建镜像前搭建只能在平台后搭建

二、Docker的三个概念

镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。
容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。
仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用tag进行区分,比如Ubuntu仓库存放有多个版本(12.04、14.04等)的Ubuntu镜像。
docker 镜像
docker hub 公共仓库
docker-harbor 上传下载方便、安全 私有仓库

github: github ——》404——》延迟gitlab:
svn
gitee
码云 代码仓库
语雀

使用docker有什么意义(优势)
docker引擎统一了基础设施环境-docker容器环境(引擎)
docker引擎统一了程序打包(装箱)方式docker 镜像
docker引擎统一了程序部署(运行时环境)方式-docker 容器

三、Docker的使用场景

打包应用程序简单部署
可脱离底层硬件任意迁移(实现了应用的隔离,将应用拆分并进行解耦),例如:服务器从腾讯云迁移到阿里云

持续集成和持续交付(CI/CD) :开发到测试发布
部署微服务
提供 PAAS 产品(平台即服务){OpenStack的云主机类似于阿里云的ECS,属于IAAS、Docker (K8S)属于PAAS}

lAAS:基础设施即服务 基础设施就是裸金属
PAAS:平台即服务 例如nginx
SAAS :应用即服务 例如lnmp

四、Docker 引擎(Docker Engine)

Docker Engine是具有以下主要组件的客户端-服务器应用程序:
服务器是一种长期运行的程序,称为守护程序进程( dockerd命令REST API,它指定程序可用来与守护程序进程进行通信并指示其操作的接口。
命令行界面(CLI)客户端(docker命令)。
在这里插入图片描述
客户端传入docker指令/命令—》通过restAPI—》进入内核中的docker-server端—》由server端进行处理
—》通过rest API返回给docker-client端进行展示

客户端作用
1用于使用命令传入方式与restapi对接
2展示docker-server返回结果

五、原理

在这里插入图片描述
1命令传入
2本地查找
3如果没有就去registry上去下载
4镜像拉过来后给容器

六、名称空间(Namespaces)

底层原理就是cgroup和namespaces。
Docker使用一种称为namespaces提供容器的隔离工作区的技术。运行容器时,Docker会为该容器创建一组名称空间。
这些名称空间提供了一层隔离。容器的每个方面都在单独的名称空间中运行,并且其访问仅限于该名称空间。
Docker Engine在 Linux上使用以下名称空间:该pid命名空间:进程隔离(PID:进程ID)。
容器隔离了6个名称空间(namespace资源隔离-用容器化技术封装)
mount文件系统,挂载点—》》一个文件系统内,不能重复挂载一个指定目录,例如:/mnt
user操作进程的用户和用户组
pid进程隔离
uts主机名和主机域以及内核
ipc信号量、消息队列,共享内存(理解,不同的应用调用内存资源的时候应该使用不同的内存空间)
net网络设备、网络协议栈、端口等

小结: Dcoker是基于容器技术的轻量级虚拟化解决方案
docker是容器技术,把linux的cgroup、namespaces等容器底层技术进行完美的封装、并抽象为用户提供创建和管理容器的便捷界面(命令行cli、api等) c/s

七、部署docker

先设置环境

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0

安装依赖包

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

设置阿里云源

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror, langpacks
adding repo from: https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

[root@localhost yum.repos.d]# cat docker-ce.repo 

在这里插入图片描述
这里根据需要开启各个源进行安装
安装docker-ce社区版

[root@localhost ~]# yum install -y docker-ce

安装完毕后在ETC下是没有docker文件夹得
在这里插入图片描述
添加镜像加速器
在这里插入图片描述
此时重启服务

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker

docker文件夹出现
在这里插入图片描述

[root@localhost ~]# cd /etc/docker/
[root@localhost docker]# ls
key.json

这时再添加镜像加速器

[root@localhost docker]# ls
daemon.json  key.json

在这里插入图片描述
json可以被调用
面试题(生产经验)
#docker-server端配置文件daemon. json
{
“graph” : “/data/docker”, 数据目录/var/lib/docker
“storage-driver” :“overlay2”, 存储引擎
早期的时候存储引擎使用的是aufs——》overlay2 存储引擎
“insecure-registries”:[ “registry.access.redhat.com” , “quary.io”] 私有仓库
" registry-mirrors" :[ “https://q”] 镜像加速
“bip” :“172.7.5.1/24”, ☆☆☆☆ docker网络
“exec-opts” :[ “native.cgroupdriver=systemd”], 启动时候的额外参数(驱动,k8s使用)
“live-restore”:true 当docker容器引擎挂掉的时候,使用docker跑起来的容器还能运行(分离)Ⅰ
以上是建议的配置项
docker容器l网络生产经验
docker 的网络建议和宿主机的IP"对照”
比如宿主机 10.2.5.6容器的地址就可以修改为172.5.6.1,这样方便在故障发生时,更容易定位故障节点位置

网络优化

[root@localhost ~]# vim /etc/sysctl.conf

在这里插入图片描述

[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1

测试

[root@localhost ~]# systemctl status docker

在这里插入图片描述
查看serever端镜像

[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

查看有多少容器

[root@localhost ~]# docker ps -a                                  显示所有容器
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost ~]# docker ps                                     显示在运行容器
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost ~]# docker run hello-world

在这里插入图片描述

八、docker命令

查询版本

docker version和docker info

[root@localhost ~]# docker version
Client: Docker Engine - Community                                     客户端的相关软件版本
 Version:           20.10.12
 API version:       1.41                                                  api版本
 Go version:        go1.16.12                                             go的版本
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:45:41 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.12
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 13 11:44:05 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:                                                                     运行时环境版本
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:                                                              初始化版本
  Version:          0.19.0
  GitCommit:        de40ad0
[root@localhost ~]# docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.7.1-docker)
  scan: Docker Scan (Docker Inc., v0.12.0)

Server:
 Containers: 1                                        容器数量                                 
  Running: 0                                          正在运行的
  Paused: 0                                            暂停的                                                      
  Stopped: 1                                           停止的        
 Images: 1                                             1个镜像
 Server Version: 20.10.12
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay                                                                       网络的几种方式
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc version: v1.0.2-0-g52b36a2
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-693.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 3.686GiB
 Name: localhost.localdomain
 ID: 7QA4:7HBQ:UDQ3:OZVR:Y4JX:4JED:WDOS:HKSB:BARH:BJ2H:IWGN:FC3B
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE         COMMAND    CREATED          STATUS                      PORTS     NAMES
adc2e307cae2   hello-world   "/hello"   19 minutes ago   Exited (0) 19 minutes ago             funny_albattani

查看镜像

[root@localhost ~]# docker images                                     
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
[root@localhost ~]# docker images -q                                     只查看镜像ID
605c77e624dd
75d052ec3a22

查看容器

[root@localhost ~]# docker ps -a                                  显示所有容器
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost ~]# docker ps                                     显示在运行容器
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

镜像操作

搜索镜像

[root@localhost ~]# docker search nginx

在这里插入图片描述
可以打开https://hub.docker.com/查找镜像
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以点右边的复制键复制到虚拟机里可以直接下载了

下载镜像

[root@localhost ~]# docker pull nginx:1.12-perl

在这里插入图片描述

[root@localhost ~]# docker pull nginx

在这里插入图片描述
在这里插入图片描述

获取镜像信息

docker inspect 镜像名称:标签 或者 镜像id

[root@localhost ~]# docker inspect nginx:latest

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加镜像标签

dacker tag 镜像名称:原标签 镜像名称:现标签
在这里插入图片描述

[root@localhost ~]# docker tag nginx:latest nginx:lnmp

在这里插入图片描述
可以看出除了ID不一样以外其他都一样,可以相当于做了个软链接

删除镜像

docker rmi 是docker rm images的简写 不加i就是删除容器
docker rmi镜像名称
docker rmi镜像标签
docker rmi docker images -q
在这里插入图片描述
在这里插入图片描述
不能删除正在运行的镜像,得先把已退出的容器删除后再删除镜像,或者-f强制删除;

[root@localhost ~]# docker rmi hello-world:latest 
Untagged: hello-world:latest                                                解除标签
Untagged: hello-world@sha256:2498fce14358aa50ead0cc6c19990fc6ff866ce72aeb5546e1d59caac3d0d60f      解除加密ID
Deleted: sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412     删除镜像1
Deleted: sha256:e07ee1baac5fae6a26f30cabfe54a36d3402f96afda318fe0a96cec4ca393359   删除镜像2

在这里插入图片描述
如果删除的是之前添加标签的镜像则只会删除该镜像,源镜像没有变化(相当于删除软链接)

[root@localhost ~]# docker rmi nginx:latest
Untagged: nginx:latest

在这里插入图片描述
docker rmi docker images -q批量删除的是镜像的ID

在这里插入图片描述
在这里插入图片描述

镜像导出

docker save -o 文件名 镜像名

[root@localhost ~]# docker save -o nginx nginx:lnmp

在这里插入图片描述

镜像导入

docker load < 文件名

[root@localhost ~]# docker load < nginx

在这里插入图片描述
在这里插入图片描述
场景:没有网络情况下,方便携带

容器操作

创建容器

docker create -it nginx : latest / bin/ bash
-i 让容器的标准输入保持打开
-t分配一个伪终端
-d 后台守护进程的方式运行

[root@localhost ~]# docker create -it nginx:latest /bin/bash
9b211ea34a93e0cf3a10fa0f7629108e5f191de8dd25a9d6eb89d1a92bee503f

在这里插入图片描述
但是并不是运行状态,所以需要启动
docker start 容器ID
在这里插入图片描述

[root@localhost ~]# docker start 9b211ea34a93
9b211ea34a93

在这里插入图片描述

创建并启动容器(一次性)

docker run

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

在这里插入图片描述
在这里插入图片描述

停止容器

docker stop

[root@localhost ~]# docker stop 9b211ea34a93
9b211ea34a93

在这里插入图片描述

进入容器

在这里插入图片描述

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

在这里插入图片描述
同时我们用

[root@localhost ~]# watch -n 1 docker ps -a

在这里插入图片描述
并且在容器内部也可进行操作
在这里插入图片描述
退出可以用exit 或者ctrl+d

[root@4e84e6a9599f opt]# exit
exit
或者
[root@2d33b645ca4d /]# exit                          ctrl+d

在这里插入图片描述
exec只支持正在运行中的容器,否则会报错

[root@localhost ~]# docker exec -it test /bin/bash
Error response from daemon: Container 5c478467cde25a683d7fa28bfc9796ba58ad1d9b2dbab4cda100eb43c8b0da6c is not running
[root@localhost ~]# docker exec -it 597a85bda99b /bin/bash

在这里插入图片描述
docker run -it会创建前台进程,但是会在输入exit后终止进程。
docker attach会通过连接stdin,连接到容器内输入输出流,会在输入exit后终止容器进程.
docker exec -it 会连接到容器,可以像SSH一样进入容器内部,进行操作,可以通过exit退出容器,不影响容器运行。(但会因为SSH方式有安全隐患,减少操作)

持续后台运行

因为像centos镜像,它开启后如果不使用,非常占资源,所以docker会自动关闭它,那么如果我们要求centos一直开着那么我们要给它一条命令

[root@localhost ~]# docker run -d centos:7 /bin/bash -c "while true;do echo hello;done"
597a85bda99b2235cab8bbca73b521f934a78f2386d8133abce9c5cadf88c15c
[root@localhost ~]# docker run -d --name test centos:7 /bin/bash      #--name  给容器命名
5c478467cde25a683d7fa28bfc9796ba58ad1d9b2dbab4cda100eb43c8b0da6c

在这里插入图片描述

获取容器信息

docker inspect 容器名称或者容器ID
在这里插入图片描述

[root@localhost ~]# docker inspect amazing_johnson
或者
[root@localhost ~]# docker inspect 597a85bda99b

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
桥接两个不同的名称空间
在这里插入图片描述
在这里插入图片描述

容器导出

docker export > 文件名

[root@localhost ~]# docker export 597a85bda99b >centos_7

在这里插入图片描述

容器导入

docker import 容器名称 指定的镜像名称

[root@localhost ~]# docker import centos_7 centos:lnmp
sha256:b5d921e971ec308c7cf1a348640cd21cd391753f4f2ca18cf48f5496fc68ae48

在这里插入图片描述

删除容器

[root@localhost ~]# docker ps -q                    只显出运行中的id
597a85bda99b
[root@localhost ~]# docker ps -aq                   显出所有容器ID
5c478467cde2
597a85bda99b
2d33b645ca4d
4e84e6a9599f
fe5ce8981cea
9b211ea34a93
[root@localhost ~]# docker rm `docker ps -aq`

在这里插入图片描述
所以要加上-f

[root@localhost ~]# docker rm -f 597a85bda99b
597a85bda99b
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

#批量删除容器(正则匹配)

docker ps -a / awk '{print "docker rm "$1}' | bash

#批量删除"exit"状态(指定状态)的容器

for i in `docker ps -a` | grep -i exit | awk '{print $1}' ; do dockerrm -f $i ; done

查看所有容器资源占用

[root@localhost ~]# docker stats

在这里插入图片描述

Docker容器化部署实战:从基础镜像到生产环境优化 容器化技术通过将应用及其依赖打包成标准化的单元,实现了环境一致性和快速部署。其核心原理基于操作系统级虚拟化,利用命名空间和控制组实现资源隔离与限制。这项技术的价值在于解决了开发与生产环境差异的经典难题,显著提升了软件交付效率和系统可移植性。在应用场景上,容器化广泛用于微服务架构、持续集成/持续部署流水线以及云原生应用开发。本文以开源项目openclaw的Docker部署为例,深入探讨了多阶段构建、Docker Compose编排等关键实践,特别针对镜像安全扫描和健康检查配置提供了详细解决方案,帮助开发者构 阅读详情

相关推荐

什么是Docker容器?(全面了解使用)

1.2虚拟机(Virtual Machine) 占用资源多:虚拟机需要安装整个操作系统,自然会消耗大量内存和硬盘空间。如我们只需要运行1MB的软件,有时候也不得不安装几个G的环境才能运行。 运行步骤冗余:虚拟机安装的是完整的系统,每次运行程序都需要按部就班,打开系统、登入用户等等之类麻烦的步骤,很不方便。 运行速度慢:为了运行特定环境中的软件,虚拟机必须先运行系统,而系统占用的资源往往很多(网络,GUI,IO等等),自然也会影响运行速度。 1.3Linux容器(Container) 为

m0_67322837的博客 3万+

Docker容器化部署一文全覆盖,自学整理

整理公司内部学习文档,培训资料时输出记录,以备查用。

1587

Cadence - 巧用DB Doctor脚本批量升级旧版封装库

本文详细介绍了如何使用Cadence的DB Doctor脚本批量升级旧版封装库,解决Allegro PCB Designer版本兼容性问题。通过设置环境变量、组织目录结构和创建批处理脚本,实现高效自动化更新,特别适合团队协作和老项目迁移。文章还分享了实际应用案例和高级技巧,帮助用户提升工作效率。

weixin_42699679的博客 506

docker容器化部署及使用

docker容器化部署及使用 一、什么是Docker Docker是Google使用go语言开发出来的一个开源的应用容器引擎,可以让开发者快速的打包应用程序及相应的依赖程序到一个轻量级、可移植的容器中,再发布容器到任意的服务器上(Linux与Windows都支持Docker),容器间使用沙箱机制,相互之间互不影响。 二、安装部署 1、卸载旧版本 ---卸载旧版本 $ yum remove docker \ docker-client \

aa 2786

html5资料

html5资料收集 1.html5 doctor  地址:http://html5doctor.com/ask-the-doctor/ 2.nwoods 地址:http://www.nwoods.com/index.htm 3.nwoods案例 地址:http://www.nwoods.com/components/canvas/gojs-samples.htm 4.go

不了了之专栏 1536

如何快速入门Gradle Doctor:5分钟安装与基础配置教程

Gradle Doctor是一款专为优化Gradle构建流程设计的工具,能够帮助开发者诊断和解决构建过程中的常见问题,提升构建效率。本教程将带你在5分钟内完成Gradle Doctor的安装与基础配置,让你的Gradle项目构建更快速、更稳定。 ## 一、环境准备:克隆项目仓库 首先,确保你的开发环境中已经安装了Git和Gradle。打开终端,执行以下命令克隆Gradle Doctor项目仓库

gitblog_00213的博客 307

详解LM-PE(Large Model—Poisoning Experiment)垃圾桶创始团队

年后,预见到物联网将成为未来最大的安全薄弱点,将研究方向转向物理网设备的安全通信、行为认证与群体智能。LM-PE垃圾桶是一种创新型智慧垃圾桶,全称为"Large Model—Poisoning Experiment",它不仅仅是一个简单的垃圾容器,而是一套深度融合物联网、人工智能与新型环保材料的城市代谢节点解决方案。陈博士确保了系统的安全和智能,方博士赋予了系统生态和可持续的内核。最具影响力的网络安全团队(ADMIN)负责人,他常常说:在未来的智慧城市,每一个公共设施都将是一个安全节点。

weixin_65434173的博客 153

LATENCY DOCTOR

Available since 2.8.13. The LATENCY DOCTOR command reports about different latency-related issues and advises about possible remedies. This command is the most powerful analysis tool in the latency mo...

[Blog][Domain] programb.blog.csdn.net 404

Flutter App 全套实战学习计划:从零搭建到 APK 部署

本教程为零基础Flutter开发者提供企业级开发全流程指导,分为6大阶段:1)项目搭建与环境配置;2)工程化架构设计(MVVM模式);3)全局样式常量封装;4)页面组件与交互开发;5)前后端数据交互(含离线缓存方案);6)跨平台打包部署(Android/iOS)。教程强调实战性,包含环境校验、目录重构、Dio网络封装、状态管理等核心技术点,并配套代码规范、异常处理等工程化实践。建议10天完成学习,最终可独立开发并上线完整Flutter应用。需提前配置Flutter SDK、开发工具及基础Dart语法知识。

weixin_68397463的博客 287

c++修复软件_Moldflow模流分析软件教程(二)——CAD doctor实体修复

Moldflow 软件操作流程(一)模型准备①产品零件:这是分析的基础,必须是3D档,最好是实体零件而非IGS等曲面零件。②产品排位:CAD排位或者是3D文档,这里的3D文档最好是STP及X_T等实体文档,以免因为版本高低导致无法打开。③流道及进胶方式:如果没有具体的方案,分析前则需要讨论,以免增加无谓的工作量。注意事项:导出文件供下个流程用(模型前处理),尽量输出实体文档,如X_T,S...

weixin_39896617的博客 2698

Flutter踩坑之flutter doctor --android-licenses报错

首先命令行键入flutter doctor命令检查你的环境,你可能会遇到以下问题: 执行完以上命令命令行会提示你执行flutter doctor --android-licenses命令来解决此问题。接着键入flutter doctor --android-licenses报以下错误: Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema at com.andro

hzd493的博客 7957

解决Windows下appium-doctor报各种 cannot be found问题

这是Windows环境下,cmd输入appium-doctor报的各种问题解决 由于我安装的appium是Appium-windows-1.18.0-2.exe版本,和网上一些其他教程有点出入,花了些时间来解决环境问题 appium安装就自行安装,如果有需要安装包,请点击下方链接。 链接: appium 环境安装可以直接参考其他博主的文章, 链接: 环境配置安装 这里重点解决的问题是can not found问题。 上面是我引用了网上的图片,一开始我也是报这些警告,因为安装好了,所以没有报警告,为了大家方

qq_43577066的博客 2384

Windows安装appium-doctor

1.0 安装node.js node.js下载地址:https://nodejs.org/en/download/ 安装时选择Add To Path即可。或者安装完后添加到环境变量 2.0 安装appium-doctor appium-doctor用于检查依赖和环境变量,但appium-desktop不内置appium-doctor,对于windows,可用node.js的模块npm安装,安装在当...

u010654583的博客 1万+

Flutter开发环境配置全攻略:Android Studio集成与避坑指南

跨平台开发框架通过一套代码库构建多端应用,其核心原理在于利用统一的渲染引擎和自绘UI组件,实现高性能、高保真的用户体验。这种技术为开发者带来了显著的效率提升和成本优化,尤其适用于需要快速迭代、覆盖iOS和Android双平台的应用场景。在具体实践中,环境配置是项目启动的关键前提,其中Android Studio作为官方推荐的集成开发环境,凭借其强大的模拟器管理、性能分析工具和原生代码混合调试能力,成为许多开发者的首选。本文将聚焦于Flutter与Android Studio的深度集成,详细解析从SDK安装、

weixin_30702441的博客 227

npm-doctor

Check your environments npm doctor npm doctor runs a set of checks to ensure that your npm installation has what it needs to manage your JavaScript packages. npm is mostly a standalone tool, but it do...

[Blog][Domain] programb.blog.csdn.net 457

【后端版】分布式医疗云平台【【就诊模块】his-doctor 模块、【子模块】(doctor-api 、doctor-domain、doctor-mapper)模块】(十五)

【后端版】分布式医疗云平台【【就诊模块】his-doctor 模块、【子模块】(doctor-api 、doctor-domain、doctor-mapper)模块】(十五)

485

Codex CLI核心命令实战指南:help、login、doctor、update详解

命令行界面(CLI)是开发者与计算机系统交互的重要工具,通过文本命令实现高效操作。其工作原理基于命令解析和执行引擎,将用户输入转换为系统调用。CLI的技术价值在于提升开发效率、支持自动化脚本和持续集成。在开发工具领域,CLI广泛应用于环境配置、项目管理和部署流程。Codex CLI作为专为开发者设计的命令行工具,通过help命令获取帮助信息,login命令处理身份认证,doctor命令进行系统诊断,update命令管理版本更新,为开发工作流提供全面支持。

weixin_33863087的博客 362
上一篇: ELK的原理与架构
下一篇: docker网络
摆渡使者
博客等级 码龄5年 112粉丝 · 103原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值