当前位置: 首页 > news >正文

docker 学习--03 环境安装(本人使用的win10 Linux也是在win10下模拟)

docker 学习–03 环境安装(本人使用的win10 Linux也是在win10下模拟)


docker 学习-- 01 基础知识

docker 学习-- 02 常用命令


文章目录

  • docker 学习--03 环境安装(本人使用的win10 Linux也是在win10下模拟)
    • @[TOC](文章目录)
  • 1. windows10 安装docker
    • 1.1 访问官网 点击下载
    • 1.2.点击下载的 exe文件-> 点击ok
    • 1.3错误处理 重启之后打开 报错 大概意思是缺少 WSL 这个东西并且我没有开启 虚拟化和Hyper-V
  • 2. Docker desktop 切换国内镜像
  • 3. 按照 Docker-composer
    • 3.1 docker-compose 指令集
  • 4 制作一个示例
    • 其他链接

1. windows10 安装docker

``

在 Windows 10 上安装 Docker 分为两种方式:使用 Docker Desktop for Windows 和安装
Docker 工具包。 这里使用的是 Docker Desktop for Windows

Docker Desktop for Windows 是官方提供的一款桌面应用程序,可以帮助您在 Windows 10 上快速安装和启动
Docker 环境。


官网 :https://www.docker.com/products/docker-desktop/

1.1 访问官网 点击下载

在这里插入图片描述

1.2.点击下载的 exe文件-> 点击ok

在这里插入图片描述

1.3错误处理 重启之后打开 报错 大概意思是缺少 WSL 这个东西并且我没有开启 虚拟化和Hyper-V

Docker Desktop - WSL kernel version too low Docker Desktop requires a
newer WSL kernel version. Update the WSL kernel by running “wsl
–update” or follow instructions athttps://docs,microsoft,com/windows/wsl/wsl2-kernel.

在这里插入图片描述

打开PowerShell(管理员运行)
//开启虚拟化
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
//开始Hyper-V
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
//重启完
//发现还是在报这个错误  使用 wsl --update 解决
wsl --update

在这里插入图片描述

2. Docker desktop 切换国内镜像

镜像源

网易:http://hub-mirror.c.163.com
中科大镜像地址:http://mirrors.ustc.edu.cn/
中科大github地址:https://github.com/ustclug/mirrorrequest
Azure中国镜像地址:http://mirror.azure.cn/
Azure中国github地址:https://github.com/Azure/container-service-for-azure-china
DockerHub镜像仓库: https://hub.docker.com/ 
阿里云镜像仓库: https://cr.console.aliyun.com 
google镜像仓库: https://console.cloud.google.com/gcr/images/google-containers/GLOBAL (如果你本地可以翻墙的话是可以连上去的 )
coreos镜像仓库: https://quay.io/repository/ 
RedHat镜像仓库: https://access.redhat.com/containers
{"registry-mirrors": ["http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"],"insecure-registries": [],"debug": true,"experimental": false
}

在这里插入图片描述

3. 按照 Docker-composer

作用 :
Docker Compose是一个用来定义和运行多个复杂应用的Docker编排工具。例如,一个使用Docker容器的微服务项目,通常由多个容器应用组成。那么部署时如何快速启动各个微服务呢,一个个手动启动?假如有上百个微服务呢,显然不现实,那么使用Docker Compose编排工具便可快速启动容器。
Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。
编译一个本地文件来启动服务

3.1 docker-compose 指令集

获得一个命令的帮助
docker-compose 命令 --help构建并启动所有容器,如果镜像存在就重新构建
docker-compose up -d --build启动所有服务
docker-compose up -d构建启动nignx容器               
docker-compose up -d nginx       -f 指定使用的Compose配置文件启动,默认为docker-compose.yml,可以多次指定。
docker-compose -f docker-compose.yml up -d运行一个服务,并在服务上执行一个命令
docker-compose run 容器id或容器名 ip addr登录到nginx容器中             
docker-compose exec nginx bash此命令将会停止 up 命令所启动的容器,并移除网络
docker-compose down列出项目中运行的所有容器
docker-compose ps列出项目中运行及未运行的所有容器
docker-compose ps -a列出所有运行的服务容器
docker-compose ls列出所有服务容器(包括未运行的容器)
docker-compose ls -a重新启动nginx容器
docker-compose restart nginx          构建镜像          
docker-compose build nginx            不带缓存的构建       
docker-compose build --no-cache nginx     查看各个服务容器内运行的进程      
docker-compose top              查看nginx的实时日志               
docker-compose logs -f nginx        列出 Compose 文件包含的镜像           
docker-compose images 验证文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。                         
docker-compose config                以json的形式输出nginx的docker日志           
docker-compose events --json nginx        暂停nignx容器     
docker-compose pause nginx         恢复ningx容器            
docker-compose unpause nginx      删除容器(删除前必须关闭容器,执行stop)             
docker-compose rm nginx                       强制删除容器(不必先关闭容器)             
docker-compose rm -f nginx    停止nignx容器         
docker-compose stop nginx       启动nignx容器           
docker-compose start nginx     重启项目中的nignx容器                
docker-compose restart nginx               下载依赖的镜像
docker-compose pull   推送服务依的镜像
docker-compose push设置指定服务运行的容器个数。通过service=num的参数来设置数量
docker-compose scale web=3 db=2查看版本信息
docker-compose version

4 制作一个示例

我想要的效果是文件都在 我本地的数据库上 本地的数据库可以和容器里互通 文件如下

version: '3.4'
services:mysql1:  #mysql容器image: mysql container_name: mysql1restart: always# 授权user: rootprivileged: true environment:  ##设置环境便变量TZ: Asia/Shanghai  ##设置时区MYSQL_ROOT_PASSWORD: 123456 #这里自行设置root用户的密码command:  ##设置容器运行时执行的命令--default-authentication-plugin=mysql_native_passwordvolumes:- /D:/phpstudy_pro/Extensions/MySQL5.7.26/:/var/lib/mysql #挂载文件ports:- 3307:3306  #宿主机和容器间的端口映射,可自行配置

我是在d 盘文件 下创建 了 一个 mysql_ceshi.yml 文件 在这里插入图片描述

在此目录下 使用 运行脚本

docker-compose -f mysql_ceshi.yml up 

在这里插入图片描述
成功运行我们来访问一下吧
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
链接成功

其他链接


docker 学习-- 01 基础知识

docker 学习-- 02 常用命令


相关文章:

docker 学习--03 环境安装(本人使用的win10 Linux也是在win10下模拟)

docker 学习–03 环境安装(本人使用的win10 Linux也是在win10下模拟) docker 学习-- 01 基础知识 docker 学习-- 02 常用命令 文章目录 docker 学习--03 环境安装(本人使用的win10 Linux也是在win10下模拟)[TOC](文章目录) 1. wi…...

【代码质量】认知复杂度(COGNITIVE COMPLEXITY)一种衡量可理解性的新方法

白皮书地址 摘要:圈复杂度最初是作为“可测试性和模块控制流的“可维护性”。虽然它擅长于衡量前者,但它的数学模型不能产生一个令人满意的值来衡量后者。本文描述一种打破数学度量模型的新度量模型来评估代码,以弥补圈复杂度的缺点&#xf…...

什么是JavaScript中的内存泄漏和如何避免内存泄漏?

1、什么是JavaScript中的内存泄漏和如何避免内存泄漏? JavaScript中的内存泄漏是指在程序运行过程中,一些不再使用的对象或数据仍然存在于内存中,导致内存无法释放,最终导致内存耗尽。 为了避免内存泄漏,可以采取以下…...

安全头响应头(三)​X-Content-Type-Options

一 X-Content-Type-Options响应头 说明:先写个框架,后续补充 思考:请求类型是 "style" 和 "script" 是什么意思? script标签 style StyleSheet JavaScript MIME type 文件扩展和Content-Type的映射关系 场景: 一个…...

13 计算机视觉-代码详解

13.2 微调 为了防止在训练集上过拟合,有两种办法,第一种是扩大训练集数量,但是需要大量的成本;第二种就是应用迁移学习,将源数据学习到的知识迁移到目标数据集,即在把在源数据训练好的参数和模型&#xff…...

jupyter打开ipynb后,还没有运行cell,反复报错

今天遇到了一个比较奇怪的问题: 这个原因是当前目录下有一个code.py的文件,一旦打开ipynb,就是先执行code.py,而且遇到报错,还会反复执行,导致内核崩溃。...

一台阿里云服务器怎么部署多个网站?以CentOS系统为例

本文阿里云百科介绍如何在CentOS 7系统的ECS实例上使用Nginx搭建多个Web站点。本教程适用于熟悉Linux操作系统,希望合理利用资源、统一管理站点以提高运维效率的用户。比如,您可以在一台云服务器上配置多个不同分类的博客平台或者搭建多个Web站点实现复杂…...

history记录日期时间和日志记录操作

history命令能查看到操作日期和时间的配置方法: 1)在/etc/profile文件中添加一行: export HISTTIMEFORMAT"%F %T whoami " 2)保存后,执行加载命令: source /etc/profile 3)然后检…...

RocketMQ 单机源码部署 自定义配置文件和端口以及acl权限配置解析

思路 1、我们首先配置完 namesrv和broker和acl认证的配置文件,然后直接使用-c指定配置文件来启动程序,就会非常明了,用户名密码要大于6,第一个用户我测试着不知道为什么始终有最高权限,大家尽量不要吧第一个用户给别人…...

NuGet控制台命令初步使用

查看所有安装的包, 查找包,提示Nuget版本低;安装一个更高版本; 查看所有安装的包, 查找名字包含某字符串的包, 查找名字包含某字符串的包, 安装,使用-version指定版本,可…...

2023年国赛数学建模思路 - 案例:FPTree-频繁模式树算法

文章目录 算法介绍FP树表示法构建FP树实现代码 建模资料 ## 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法,就是频繁模式树算法&#xff0c…...

Positive Technologies:有针对性的攻击占非洲所有攻击的 68%

网络犯罪分子最常攻击的是非洲的金融公司和电信公司 Positive Technologies 分析了 2022–2023 年非洲遇到的各种网络安全威胁,并在圣彼得堡举行的第二届俄罗斯—非洲峰会上介绍了研究结果。根据我们的专家的介绍,非洲金融部门受到的网络攻击最多&#…...

Flink CDC系列之:TiDB CDC 导入 Elasticsearch

Flink CDC系列之:TiDB CDC 导入 Elasticsearch 一、通过docker 来启动 TiDB 集群二、下载 Flink 和所需要的依赖包三、在TiDB数据库中创建表和准备数据四、启动Flink 集群,再启动 SQL CLI五、在 Flink SQL CLI 中使用 Flink DDL 创建表六、Kibana查看Ela…...

未来混合动力汽车的发展:技术探索与前景展望

随着环境保护意识的增强和对能源消耗的关注,混合动力汽车成为了汽车行业的研发热点。混合动力汽车融合了传统燃油动力和电力动力系统,通过优化能源利用效率,既降低了燃油消耗和排放,又提供了更长的续航里程。本文将探讨混合动力汽…...

C进阶(2/7)前篇——指针进阶

前言:本文章讲解部分指针进阶内容。后续继续更新。 文章重点: 1. 字符指针 2. 数组指针 3. 指针数组 4. 数组传参和指针传参 目录 前言:本文章讲解部分指针进阶内容。后续继续更新。 指针初阶了解: 1.字符指针 1.1一道有关于字…...

C 内存分配器 mimalloc

有论文 … … https://www.microsoft.com/en-us/research/publication/mimalloc-free-list-sharding-in-action/ 可以减少内存碎片,微软研究院2019 年开源出的内存分配器 代码,适配linux...

leetcode做题笔记74搜索二维矩阵

给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非递减顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。 思…...

深信服数据中心管理系统 XXE漏洞复现

0x01 产品简介 深信服数据中心管理系统DC为AC的外置数据中心,主要用于海量日志数据的异地扩展备份管理,多条件组合的高效查询,统计和趋势报表生成,设备运行状态监控等功能。 0x02 漏洞概述 深信服数据中心管理系统DC存在XML外部实…...

【Kubernetes】Kubernetes的Pod进阶

Pod进阶 一、资源限制和重启策略1. 资源限制2. 资源单位2.1 CPU 资源单位2.2 内存 资源单位 3. 重启策略(restartPolicy) 二、健康检查的概念1. 健康检查1.1 探针的三种规则1.2 Probe 支持三种检查方法 2. 示例2.1 exec 方式2.2 httpGet 方式2.3 tcpSock…...

都错了!机械硬盘远比SSD更省电 最多领先94%

相信在绝大多数人的认知中,SSD固态硬盘因为没有HDD机械硬盘那样的移动部件,不但更稳定,还更省电。 但是,存储服务商Scality的研究表明,恰恰相反,HDD更省电。 他们以美光6500 ION 30.72TB QLC SSD、希捷银河…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...