docker的学习

简介

docker认识

  • 举例:
    以wegame为例:在没有wegame前下载游戏你需要从浏览器搜索,官网下载,各种野路子去得到想玩的游戏安装包然后下载。电脑小白会遇到各种问题,比如下载盗版误点广告找不到资源,找到后安装的时候安装到了C盘或者一大堆捆绑软件再或者安装完找不到启动图标,卸载游戏的方式就是删除桌面图标。你可以让他学习如何安装游戏和使用软件,可以但没必要,因为初衷只是为了玩游戏。所以会有wegame的诞生,有了wegame后你可以通过wegame直接搜索想玩的游戏一键下载安装就可以玩,前提是wegame里有这个游戏。
  • 应用:
    将上述例子应用到互联网学习,有时候我们只是想学习一下服务功能的实现一些漏洞测试,但却需要花大量的精力去部署,部署中极容易出错劝退大部分同学。docker像wegame这种模式一样为我们提供了简单便捷的部署方式使我们学习起来更快更高效。
  • docker模式:
    wegame						  				docker
    	腾讯(放游戏的地方)							仓库(放镜像的地方)
    	安装包(搜索腾讯的安装包)					镜像(搜索仓库里的镜像)
    	游戏(安装好的安装包) 						容器(安装好的镜像)
    
  • 使用方法
    个人、组织、机构等将供我们使用的应用服务或代码的镜像上传到docker仓库,我们只需要搜索镜像名下载,运行即可。或下载个人、组织、机构等提供的项目文件,在docker里创建镜像,然后运行。

docker安装

  • 使用apt安装需要先安装一些软件。

     	sudo apt-get update
    
     	sudo apt-get install \
     		 apt-transport-https \
     		 ca-certificates \
     		 curl \
     	  	 gnupg \
     		 lsb-release
    
  • 切换root用户安装上述软件
    在这里插入图片描述

  • 调整网络,访问官方源会有网络等问题,建议使用国内源并添加软件源GPG密钥,确保下载软件的合法性。
    curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    在这里插入图片描述

  • 将docker源添加到sources.list
    echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    在这里插入图片描述

  • 开始安装
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    在这里插入图片描述

  • 安装测试
    docker run --rm hello-world

  • 出现一下内容表示安装成功。
    在这里插入图片描述

docker加速

  • 毕竟不是国内的软件,网速很头疼这里推荐使用阿里的加速器。传送门 ------ 阿里云

  • 注册一个阿里云账号,别嫌麻烦这很管用,然后访问镜像加速器。传送门 ------ 镜像加速器

  • 按上面的顺序,点击阿里云注册,然后点击镜像加速器会显示下面的页面,按步骤操作。
    在这里插入图片描述

docker常用命令

docker search 镜像        # 查找镜像

docker pull 镜像          # 下载镜像

docker run -d -p 66:80 镜像id 		# 启动镜像 
									  -d 后台运行
									  -p 指定端口映射  66(映射端口):80(docker端口)

docker images   		  # 查看镜像

docker ps -a 			  # 查看运行的容器具体信息

docker exec -it id /bin/bash   # 在运行的容器中执行bash

docker stop 容器名  		  # 停止运行

docker start 容器名  	  # 启动容器

docker rm 容器名  		  # 删除容器

docker rmi 镜像			  # 删除镜像

docker使用实列一

  • 以渗透靶机pikachu为例。
  • 在rocker仓库里查找pikachu镜像。
    docker search pikachu
    在这里插入图片描述
  • 下载镜像。
    docker pull area39/pikachu
    在这里插入图片描述
  • 查看已下载的镜像。
    docker images
    在这里插入图片描述
  • 启动镜像, 镜像启动后称它为"容器"
    docker run -d -p 1234:80 28e6ebc041de
  • 查看运行中的容器。
    docker ps -a
    在这里插入图片描述
  • 浏览器访问:ip:1234 #1234端口为启动时映射的端口
    在这里插入图片描述
  • 至此我们部署一个搭建好的漏洞平台一共用了三条命令。

docker使用实列二

  • 上一个方法是在docker仓库下载镜像文件,新手同学会遇到一些问题。
    搜索到的镜像文件太多不确定下载哪一个
    映射端口时不知道服务开启的是哪个端口等...
  • 我们可以选择另一种方式,下载作者写好的项目文件,在docker里创建镜像运行。
  • 以pikachu平台为例下载项目文件。项目文件可以通过百度、github或者关注作者等方式获取链接
    git clone https://github.com/zhuifengshaonianhanlu/pikachu
    在这里插入图片描述
  • 进入下载的pikachu文件。
  • 使用 Dockerfile 创建镜像。
    docker build -t 镜像名 . # 镜像名可以随便起,后面的点一定要写。
    在这里插入图片描述
  • 查看镜像可以发现上一步以mi命名的镜像创建成功了。
    在这里插入图片描述
  • 启动运行等操作和上一步一样。

docker操作补充

进入bash命令

  • 上面示例中我们部署好环境但还需要我们连接数据库,或者你想修改某一页代码我们可以进入容器执行bash。
    docker exec -it 容器id /bin/bash # exit 退出bash命令。
    在这里插入图片描述

启动与停止

  • 防止过多占用资源容器使用完毕可以关闭,使用时再开启。
    docker stop 容器id
    docker start 容器id
    在这里插入图片描述

删除容器和镜像

  • 没有整理习惯或者不会删除的同学,docker看着简直无法入眼,乱八七糟,内存占满了也不知道。有些同学选择卸载重装docker,还有一部分不知道是docker的问题直接重装系统。 据真实事件记录
  • 暂时不用的容器记得stop。
  • 已经不用的记得删除。
  • 删除步骤:stop容器,删除容器,删除镜像。 删除容器强调一点,有的镜像不只启动了一个容器,要找到所有启动的容器都删除,然后才能删除镜像 一定要按顺序删除。
    在这里插入图片描述

修改容器名

docker rename 原名称  修改后的名称

修改镜像名

docker tag 镜像ID 要修改的名称
<think>嗯,用户想了解Docker学习路径。首先我得理清楚Docker的基础知识,然后分步骤来规划。可能用户是刚开始接触容器技术,需要从最基础的概念讲起。 首先应该介绍Docker是什么,为什么需要它。然后安装和环境配置,这部分可能需要涵盖不同操作系统的安装步骤,比如Windows、macOS和Linux。接着是基本命令,像镜像和容器的管理,这部分比较实用,用户可能需要实际操作例子。 接下来是Dockerfile和镜像构建,这是关键部分,用户需要学会如何自定义镜像。之后是数据管理和网络配置,这些在实际项目中很重要,比如卷的使用和容器间通信。然后是Docker Compose,处理多容器应用,用户可能会用到这个来部署复杂应用。 高级部分可能需要包括Docker Swarm和Kubernetes的基础,但用户可能暂时不需要太深入,可以简要提一下。最后是安全性和最佳实践,确保用户了解如何安全地使用Docker。 还要考虑用户可能的应用场景,比如开发、测试或者生产环境部署。可能需要推荐一些实践项目,比如搭建Web应用,帮助用户巩固知识。另外,学习资源方面,官方文档和社区资源很重要,可以推荐一些书籍或者在线课程。 需要检查是否有遗漏的部分,比如是否提到监控和日志管理,或者与其他工具集成,比如CI/CD。不过作为学习路径,可能先集中在核心内容,高级话题可以后续扩展。 最后,确保结构清晰,步骤由浅入深,让用户能够循序渐进地学习。避免使用过于专业的术语,保持解释的易懂性。同时,注意使用正确的Markdown格式,特别是数学公式部分,不过在这个问题中可能用不上,但需要遵守系统指令中的格式要求。</think>以下是分阶段Docker学习路径(建议配合实践操作): 一、基础入门阶段(1-2周) 1. 核心概念理解 - 容器与虚拟机的本质区别(资源隔离 vs 硬件虚拟化) - 镜像分层存储原理(联合文件系统) - 容器生命周期管理(创建→运行→停止→销毁) 2. 环境搭建 ```bash # Linux安装示例 curl -fsSL https://get.docker.com | bash -s docker sudo systemctl enable --now docker ``` 3. 基础指令实践 ```bash docker run -d -p 80:80 --name web nginx:alpine # 启动Nginx容器 docker exec -it web sh # 进入容器shell docker logs --tail 50 web # 查看日志 ``` 二、进阶应用阶段(2-4周) 1. Dockerfile编写技巧 ```dockerfile FROM python:3.9-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt CMD ["gunicorn", "--bind", "0.0.0.0:8000", "app:app"] ``` 2. 数据持久化方案 ```bash docker volume create db-data docker run -d -v db-data:/var/lib/mysql mysql:8.0 ``` 3. 网络配置实践 ```bash docker network create app-net docker run -d --net=app-net --name db redis:6 docker run -d --net=app-net -p 8080:80 webapp ``` 三、生产级部署阶段(1-2个月) 1. Docker Compose编排 ```yaml version: '3.8' services: web: build: . ports: - "5000:5000" depends_on: - redis redis: image: "redis:alpine" ``` 2. 镜像优化策略 - 多阶段构建(减少最终镜像体积) - 安全扫描(使用docker scan) - 镜像签名验证 3. 容器监控方案 ```bash docker stats # 实时资源监控 docker run -d -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock dockersamples/visualizer ``` 四、持续学习建议 1. 官方文档精读(https://docs.docker.com) 2. 实验平台练习(推荐Play with Docker) 3. 参与社区项目(Docker GitHub仓库issue区) 4. 云原生技术延伸(Kubernetes、Service Mesh) 重点实践项目建议: 1. 构建完整LNMP环境 2. 实现CI/CD流水线 3. 搭建微服务架构演示系统 4. 容器安全加固实验 避坑指南: - 避免使用latest标签 - 容器内不要存储重要数据 - 生产环境限制容器资源配额 - 定期更新基础镜像版本 学习资源推荐: - 《Docker——容器容器云(第2版)》 - 极客时间《深入剖析Kubernetes》(前4章) - Docker官方认证课程(DCA) - Katacoda交互式学习平台 建议每天保持1小时实践时间,通过实际项目巩固知识体系。遇到问题时,善用docker inspect命令分析容器状态,多查阅Docker官方文档的CLI参考手册。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值