云计算之路Ⅰ

1.概述

Docker本质:

  • 镜像(Image)= 装好环境的压缩包比如:Python + PyTorch + CUDA 一体包。

  • 容器(Container)= 独立的虚拟电脑 你可以在里面跑代码、装库、训练模型,和你本机完全隔离

Docker = 一键拥有任何环境,永不报错,永不冲突。

2.常用命令

首先得在docker的官网下载其软件,安装相应版本的Docker。

Docker 入门教程 - 阮一峰的网络日志

查看基础配置问题

复制代码
# 查看docker的版本
docker --version

#跑docker的 hello world
docker run --rm hello-world

常用命令

复制代码
#查看本地的镜像
docker images
复制代码
# 以我上述已存在的基础镜像为例这样会进入python编译框
docker run -it --name my-python-env -v %cd%:/app python:3.10-slim

#建议直接使用该步骤更为明确
docker run -it --name my-python-env -v %cd%:/app python:3.10-slim /bin/bash


#参数说明

-it	交互式终端	让你能进入容器敲 Linux 命令,像用本地终端一样。

--name my-python-env	给容器起名字	方便后续启停、进入,不用记长 ID

-v %cd%:/app	目录挂载	把你当前的 C:\Users\Lenovo 文件夹,映射到容器内的 /app 目录 → 你本地改代码,容器里直接生效,不用来回传文件。

python:3.10-slim	指定镜像	用你已经下载好的这个 Python 环境

最后加了 /bin/bash,这是强制告诉 Docker:"直接给我一个 Linux 终端,不要直接进 Python!"

注意重点:

0:容器环境 = 全新空白 Linux。需要什么包则需要在容器中再装一遍。

1.此处的app对应的是windows电脑的进入前目录C:\Users\Lenovo。

2.C:\Users\Lenovo\workspace\test\test_env.py == /app/workspace/test/test_env.py

复制代码
#查看正在执行的docker

docker ps -a

#删除指定的docker

docker rm my-python-env

本质:

  • Conda:创建一个环境 → 装包 → 隔离 Python
  • Docker:创建一个容器 → 装系统 + 装库 → 整个系统都隔离

Conda 环境

只隔离 Python 包 你的系统还是 Windows / 本机 LinuxC++ 版本、系统库、显卡驱动、操作系统 都共享

Docker 容器

隔离 整个操作系统 + 所有库 + 所有文件 + 所有环境 等于:一台全新的独立 Linux 虚拟机(轻量版)

正确规则(记住这一句,永远不踩坑)

docker 开头的所有命令 → 必须在 Windows CMD 里输!

python /pip/cd → 在容器里输

案例操作:

1.删除相应的别的环境从0 开始

复制代码
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker rmi $(docker images -aq)
docker system prune -f

2.运行容器并进入/app

复制代码
#运行容器
docker run -it --name myai -v %cd%:/app python:3.10-slim /bin/bash

#进入app,安装cpu
cd app
pip install numpy pandas torch --index-url https://download.pytorch.org/whl/cpu

3.运行我的python脚本

复制代码
cd /app
python workspace/test/test_env.py

3.总结:

本章为笔者首次搭建docker环境并尝试跑通本地环境以及代码,具有深刻意义。

相关推荐
星野川崎2062 小时前
电商多店运维:云机24小时挂机频繁掉线、账号无故风控深度原因分析及解决方案
大数据·运维·服务器·云计算·电商
@HNUSTer10 小时前
基于 GEE 的 Sentinel-2 海岸线自动提取:从NDWI水体指数到Canny边缘检测全流程
云计算·数据集·遥感大数据·gee·云平台·canny边缘检测·sentinel-2
@HNUSTer16 小时前
基于 GEE 的 LST 降尺度建模——利用 Sentinel-2 和 SRTM 提升 Landsat 热红外分辨率至 10 米
云计算·数据集·遥感大数据·gee·云平台·随机森林回归模型·多源遥感与随机森林回归
wzq11_66616 小时前
云计算运维学习day22——Ansible-Roles
运维·学习·云计算
翼龙云_cloud1 天前
亚马逊云渠道代理商:VPC 教程 利用 EC2 自建 NAT 实例降低私有子网出网成本
网络·云计算·aws
yunlaodacom1 天前
腾讯云国际版(云老大):TKE Service有Endpoint,为什么请求还是进不了Pod
云计算·腾讯云
Dawn-bit1 天前
Linux网络进阶:TCP三次握手和四次挥手与TCP连接状态
linux·服务器·网络·tcp/ip·云计算·智能路由器
UseLessQQ1 天前
云计算k8s集群部署
java·kubernetes·云计算
翼龙云_cloud2 天前
阿里云国际版代理商:OSS自定义域名绑定与HTTPS配置排障教程
数据库·阿里云·https·云计算
sbjdhjd2 天前
CTF 技术复盘:从参数类型绕过到正则回溯 | Merry Christmas PHP CTF(gift.php & gift_plus.php)
安全·网络安全·云计算·php·ctf·红队·网络攻防