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 制作一个示例
- 其他链接
文章目录
- 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 WindowsDocker 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 常用命令