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 常用命令


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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPS-0DAY-20230809的分析和利用复现

WPS-0DAY-20230809的分析和初步复现 一、漏洞学习1、本地复现环境过程 2、代码解析1.htmlexp.py 3、通过修改shellcode拿shell曲折的学习msf生成sc 二、疑点1、问题2、我的测试测试方法测试结果 一、漏洞学习 强调:以下内容仅供学习和测试,一切行为均在…

【C++深入浅出】初识C++上篇(关键字,命名空间,输入输出,缺省参数,函数重载)

目录 一. 前言 二. 什么是C 三. C关键字初探 四. 命名空间 4.1 为什么要引入命名空间 4.2 命名空间的定义 4.3 命名空间使用 五. C的输入输出 六. 缺省参数 6.1 缺省参数的概念 6.2 缺省参数的分类 七. 函数重载 7.1 函数重载的概念 7.2 函数重载的条件 7.3 C支…

ML-fairness-gym入门教学

1、ML-fairness-gym简介 ML-fairness-gym是一个探索机器学习系统长期影响的工具。可以用于评估机器学习系统的公平性和评估静态数据集上针对各种输入的误差度量的差异。开源网站:GitHub - google/ml-fairness-gym 2、安装ML-fairness-gym(Windows&…

概述、搭建Redis服务器、部署LNP+Redis、创建Redis集群、连接集群、集群工作原理

Top NSD DBA DAY09 案例1:搭建redis服务器案例2:常用命令限案例3:部署LNPRedis案例4:创建redis集群 1 案例1:搭建redis服务器 1.1 具体要求如下 在主机redis64运行redis服务修改服务运行参数 ip 地址192.168.88.6…

强训第32

选择 D B A A 发送TCP意思应该是已经建立了连接,会超时重传。在未建立连接的时候,会放弃该链接 C A 80端口是http A 交换机攻击主要有五种:VLAN跳跃攻击 生成树攻击 MAC表洪水攻击 ARP攻击 VTP攻击 B A 2^(32-26)2^(32-27)2^(32-27)128 减去…

【2022吴恩达机器学习课程视频翻译笔记】3.3代价函数公式

忙了一阵子,回来继续更新 3.3 代价函数公式 In order to implement linear regression. The first key step is first to define something called a cost function. This is something we’ll build in this video, and the cost function will tell us how well…

【MyBatis】查询数据库

目录 一、什么是MyBatis 二、MyBatis框架的搭建 1、搭建MyBatis框架 2、设置MyBaits项目的配置 三、使用MyBatis完成数据库的操作 1、MyBatis程序中sql语句的即时执行和预编译 1.1、即时执行(${}) 1.2、预编译(#{}) 1.3、即…

.gitignore匹配规则

目录 1.直接一个名称2.斜杠 /3.符号 *4.问号 ?5.感叹号 !6.gitkeep 借鉴抖音账号: 渡一前端提薪课 1.直接一个名称 会忽略目录下的所有该名称文件和文件夹,无论嵌套多深。 2.斜杠 / 1.斜杠在开头(/dist):忽略和.gitig…

10 - 把间隔的几个commit整理成1个

查看所有文章链接:(更新中)GIT常用场景- 目录 文章目录 把间隔的几个commit整理成1个 把间隔的几个commit整理成1个

day 0815

计算文件有多少行? 2.文件的拷贝

Hugging News #0814: Llama 2 学习资源大汇总

每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「Hugging News」。本期 Hugging News 有哪些有趣的消息&#xff0…

web基础入门和php语言基础入门 二

web基础入门和php语言基础入门 二 MySQL入门-续MySQL之数据查询操作MySQL其他知识点 php语言基础入门认识PHPPHP的工作流程安装PHP环境认识一个PHP程序PHP基础知识点进入正题 PHP与WEB交互PHP与MySQL交互总结 MySQL入门-续 MySQL之数据查询操作 WHERE 子句,条件限…