欢迎光临
我们一直在努力

Windows Docker使用实战教程

Windows Docker使用实战教程

在这里插入图片描述

一、Docker安装:3步完成环境搭建

先把Docker装到电脑上,就像装QQ一样简单。注意:Windows 10/11专业版/企业版需要开启Hyper-V,家庭版可以用WSL 2后端。

  • 下载安装包:打开Docker官网,下载Windows版Docker Desktop,双击安装包。

  • 配置选项:安装时勾选“Use WSL 2 instead of Hyper-V”(家庭版必选),一路点击“OK”,等待安装完成后重启电脑。

  • 验证安装:重启后打开“命令提示符”(CMD)或“PowerShell”,输入以下命令,如果出现版本信息,说明安装成功:

  • docker –version
    docker-compose –version

    二、核心概念:用“快递盒”理解镜像和容器

    不用记复杂定义,记住这个类比:

    镜像(Image):像快递盒的“模板”,里面包含了运行一个程序需要的所有东西(比如操作系统、软件、配置)。比如“Nginx镜像”就是装好了Nginx服务器的模板。

    容器(Container):用“镜像模板”造出来的“快递盒”,是可以运行的独立实例。一个镜像可以造多个容器,就像一个蛋糕模具可以做多个蛋糕。

    三、常用命令实战:从拉取到运行

    用实际操作学命令,每个命令都配“做什么+代码+效果”。

    1. 拉取第一个镜像:Hello World

    从Docker仓库(类似应用商店)下载一个测试镜像,输入命令:

    docker pull hello-world

    效果:终端会显示下载进度,完成后输入docker images,能看到列表里多了“hello-world”镜像。

    2. 运行第一个容器

    用刚才下载的镜像启动一个容器,输入:

    docker run hello-world

    效果:终端会输出一段欢迎信息,说明容器成功运行!这时候输入docker ps -a,能看到刚运行过的容器(状态为Exited,因为它是测试程序,执行完就退出了)。

    3. 运行一个“一直活着”的容器:Nginx

    Nginx是常用的网页服务器,我们让它在容器里一直运行:

    docker run -d -p 8080:80 –name my-nginx nginx

    命令解释:

    • -d:后台运行容器(不会占着终端)

    • -p 8080:80:把容器的80端口映射到电脑的8080端口(访问电脑的8080端口就等于访问容器的80端口)

    • –name my-nginx:给容器起个名字叫“my-nginx”,方便后续操作

    效果:打开浏览器输入http://localhost:8080,能看到Nginx的默认欢迎页面!

    4. 容器常用操作

    操作目的命令代码
    查看正在运行的容器 docker ps
    停止my-nginx容器 docker stop my-nginx
    启动已停止的my-nginx docker start my-nginx
    删除my-nginx容器(需先停止) docker rm my-nginx
    删除nginx镜像(需先删除所有用它的容器) docker rmi nginx

    四、实战进阶:用Docker Compose部署多服务

    如果需要同时运行多个服务(比如Web服务+数据库),用Docker Compose更方便,只需一个配置文件。

    案例:部署“Web+MySQL”服务

  • 创建配置文件:新建一个文件夹(比如叫“docker-demo”),在里面创建一个名为docker-compose.yml的文件,写入以下内容:
  • version: '3'
    services:
    web:
    image: nginx:latest
    ports:
    – "8080:80"
    volumes: # 把电脑的文件夹映射到容器,方便修改网页内容
    – ./html:/usr/share/nginx/html
    depends_on: # 依赖mysql服务,会先启动mysql
    – mysql

    mysql:
    image: mysql:5.7
    ports:
    – "3306:3306"
    environment: # 设置MySQL的默认密码和数据库
    MYSQL_ROOT_PASSWORD: 123456
    MYSQL_DATABASE: testdb
    volumes:
    – mysql–data:/var/lib/mysql # 持久化数据,容器删除后数据不丢失

    volumes:
    mysql-data: # 定义数据卷,用于存储MySQL数据

    创建网页文件:在“docker-demo”文件夹里新建“html”子文件夹,在里面创建index.html:

    <!DOCTYPE html>
    <html>
    <body>
    <h1>Docker Compose 测试!</h1>
    <p>连接的MySQL数据库已启动</p>
    </body>
    </html>

    启动服务:打开CMD,进入“docker-demo”文件夹,输入命令:

    docker-compose up -d

    效果:Docker会自动下载Nginx和MySQL镜像,启动两个容器。访问http://localhost:8080能看到我们写的网页,用MySQL客户端连接localhost:3306,密码123456,能看到testdb数据库。

    停止服务:输入以下命令停止并删除容器(数据卷会保留):

    docker-compose down

    五、常见问题解决

    • 问题1:启动Docker时提示“WSL 2未安装”:打开PowerShell(管理员模式),输入wsl –install,重启电脑即可。

    • 问题2:端口被占用(bind: address already in use):把命令里的端口号改一下,比如把8080改成8081(-p 8081:80)。

    • 问题3:容器启动后看不到效果:用docker logs 容器名查看日志,比如docker logs my-nginx,排查错误原因。

    赞(0)
    未经允许不得转载:171主机测评 » Windows Docker使用实战教程
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址