Windows Docker使用实战教程

Docker极简入门实战 3w人浏览 29人参与

Windows Docker使用实战教程

在这里插入图片描述

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

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

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

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

  3. 验证安装:重启后打开“命令提示符”(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-nginxdocker start my-nginx
删除my-nginx容器(需先停止)docker rm my-nginx
删除nginx镜像(需先删除所有用它的容器)docker rmi nginx

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

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

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

  1. 创建配置文件:新建一个文件夹(比如叫“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,排查错误原因。

### Docker 基础入门教程 Docker 是一种开源的应用容器引擎,能够让开发者打包他们的应用以及依赖包到一个可移植的容器中,并发布到任何流行的 Linux 或 Windows 机器上[^1]。通过这种方式,它简化了应用程序的一致性和部署流程。 #### 安装 Docker 在 CentOS 上安装 Docker 的基本命令如下所示: ```bash sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ``` 这条命令会安装 Docker 社区版及其必要的组件。 #### 创建并运行容器 为了更好地理解如何使用 Docker,可以通过以下命令来创建和运行一个基于 Ubuntu 镜像的容器: ```bash docker pull ubuntu docker run -itd --name firstContainer ubuntu /bin/bash ``` 上述脚本中的 `docker pull` 命令用于下载最新的 Ubuntu 镜像文件;而 `docker run` 则是在后台启动了一个名为 `firstContainer` 的容器实例[^2]。 #### 停止正在运行的容器 当需要停止某个已经处于活动状态下的容器时,可以利用下面这行指令完成操作: ```bash docker stop firstContainer ``` 此命令将会优雅地关闭指定名称为 `firstContainer` 的容器服务进程。 #### 进入已存在的容器内部环境 如果想要进入到之前建立起来的那个叫做 `firstContainer` 的容器里边查看或者修改某些配置参数的话,则需要用到这样的语法结构: ```bash docker exec -it firstContainer /bin/bash ``` 这里 `-it` 参数表示交互模式加上分配伪终端功能,使得我们可以直接与该容器内的 shell 界面互动交流。 以上就是关于 Docker 基础入门的一些核心知识点讲解,希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值