windows下docker的使用
找了个docker教程
Windows Docker 安装 | 菜鸟教程Windows Docker 安装 Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux 内核环境。Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的 Linux 主机。 因此,Docker 必须部署在 Linux 内核的系统上。如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境。 在 Windows 上部署 Docker 的方法都是..https://www.runoob.com/docker/windows-docker-install.html
===以下过程因为电脑老旧无法安装,被放弃看看就好,跳过这部分,往后拉着看==========
查了下资料,我的电脑是windows,那么就需要安装linux环境,好吧,必须先装个虚拟机
docker推荐的是dockertoolbox这个工具
docker-toolbox-windows-docker-toolbox安装包下载_开源镜像站-阿里云docker-toolbox-windows-docker-toolbox安装包是阿里云官方提供的开源镜像免费下载服务,每天下载量过亿,阿里巴巴开源镜像站为包含docker-toolbox-windows-docker-toolbox安装包的几百个操作系统镜像和依赖包镜像进行免费CDN加速,更新频率高、稳定安全。http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/话说docker起名字都挺好的
=================
然后下载安装,发现一个问题,需要去bios里开启虚拟化,好吧,这玩意居然是玩的这一套。
打开bios里的虚拟化后,系统不再提示了。
但是我的windows因为是win10专业版,居然安装toolbox中的virtualbox失败,怎么都不行。
=========================================
只好通过操作系统安装了hyper-v,这个需要启用虚拟化技术后,在系统管理里,启用widows自带的
这个时候可以通过任务管理器查看到虚拟化已经启用
==========================================
再下来,在win10专业版上安装好hyper-v后,在这个基础上安装docker
饶了一圈,我看还是让我安装windows内核wsl 2,就是使用语言linux的子系统
这是在子系统中安装docker吗?
问题是安装wsl后还要升级wsl2,那么就试试
安装 WSL | Microsoft Learn使用 wsl --install 命令安装适用于 Linux 的 Windows 子系统。 在 Windows 计算机上使用首选 Linux 发行版(Ubuntu、Debian、SUSE、Kali、Fedora、Pengwin、Alpine 等都可用)运行的 Bash 终端。https://learn.microsoft.com/zh-cn/windows/wsl/install
wsl --set-default-version 2
设置好后查看一下
安装WSL 2 Linux发行版:
- 打开PowerShell
-
wsl --install
注意,这里发现wsl --install在win10早期系统中不可用。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
改为这个命令。
启用虚拟机平台功能:运行以下命令启用虚拟机平台功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
由于系统版本过低,可能无法完全支持 WSL 2 的某些功能。在这种情况下,可能需要更新到 Windows 10 的最新版本。
最终,我精疲力尽之后,算了,放弃这台老旧的8代电脑了。
更换一台新版的win10之后,11代的cpu,果然可以了。
新电脑直接安装Docker Desktop for Windows,就可以了。
===============从这里开始看,以下是docker安装成功后的操作=====================
在命令行中测试
docker info
从docker info
输出来看,Docker 客户端和服务器都已正常运行,且信息获取成功了。
运行测试
docker run hello-world
这么看来,已经成功运行了docker
测试清空已经停止运行的容器
docker container prune
容器都已经清空了,好了,成了。
=================================================================
下来创建自己的容器。
创建自定义的 my_hello_world
程序
# 使用一个基础镜像(这里选择 Alpine Linux,因为它体积小)
FROM alpine:latest# 创建一个简单的 Shell 脚本输出 "Hello, Custom World!"
RUN echo "Hello, Custom World!" > /hello.sh# 设置容器启动时执行的命令
CMD ["sh", "/hello.sh"]
文件名为Dockerfile,然后这个目录就是docker的目录。
然后把这个目录构建成镜像
docker build -t my-hello-world .
=====网络不稳定===
添加镜像吧。
创建映像后,执行了就可以正常执行脚本了。
========================在容器内运行代码=============================
print("Hello from Python!fuck your nerwork!!")
FROM python:latestCOPY app.py /app.pyCMD ["python", "/app.py"]
docker build -t my-python-app .
运行结果,成功
划重点,划重点::
如果发生网络加速不灵,那么比如python,搞了很多遍都是无法访问,加速也不行
这个时候去
不能下载的,在这里下载好,就可以了。
唉。。。真烦。折腾了好半天才搞定。而且感觉也不是永久的办法,先这样了