赞
踩
目录
作者:watermelo617
涉及领域:Vue、SpingBoot、Docker、LLM、python等
-------------------------------------------------------------------------------------------------------------------------
--------------------------温柔地对待温柔的人,包容的三观就是最大的温柔。--------------------------
-------------------------------------------------------------------------------------------------------------------------
Docker 是一个开源的应用容器引擎,它允许开发者打包应用及其依赖到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
在当今快速发展的云计算和微服务架构中,Docker 以其轻量级和便携性,成为开发者和系统管理员的得力工具。Docker 不仅简化了应用的部署流程,还提高了应用的可移植性和可扩展性。本篇博客将带领你从 Docker 的下载和安装开始,一步步深入到 Docker 的基本概念和操作,最终通过实践案例来巩固你的学习成果。
Docker 支持主流的操作系统,包括 Windows 10、macOS Sierra 以及各种 Linux 发行版。确保你的系统满足 Docker 的最低系统要求。
docker官网(别被百度前几位的广告骗了):https://www.docker.com/
安装其
以 Ubuntu 为例:
更新软件包索引:
sudo apt-get update
安装 Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io
Docker 镜像是只读模板,它包含了运行应用所需的所有内容——代码、运行时、库、环境变量和配置文件。
对镜像的修改有两种方式:①根据镜像生成容器,修改容器后打包为新的镜像。②根据基础镜像和Dockerfile直接生成新的镜像。
容器是镜像的运行实例。它是一个轻量级、可移植的、自给自足的软件运行环境。容器诞生于镜像,但是可以进一步修改,并且可以打包为新的镜像。
使用以下命令从 Docker Hub 拉取 Ubuntu 镜像:
docker pull ubuntu
查看本地所有镜像:
docker images
创建并启动一个基于 Ubuntu 镜像的容器:
docker run -it ubuntu
将正在运行的容器保存为新镜像:
docker commit [容器ID] [新镜像名]
首先,你需要登录 Docker Hub(Docker Hub是docker官方的镜像仓库,但如果不使用科学上网方式有时候会难以访问):
docker login
然后推送镜像到 Docker Hub:
docker push [用户名]/[镜像名]
启动一个已停止的容器:
docker start [容器ID或名称]
停止一个正在运行的容器:
docker stop [容器ID或名称]
docker ps
docker rm [容器ID或名称]
docker rmi [镜像ID或名称]
假设我们需要部署一个简单的 Web 服务器。
创建一个包含以下内容的文件,命名为Dockerfile(没有文件拓展名!没有文件拓展名!没有文件拓展名!):
- FROM nginx
- COPY index.html /usr/share/nginx/html/
其中index.html是你希望服务的网页文件。
在 Dockerfile 所在目录执行:
docker build -t my-nginx .
docker run -d -p 8080:80 my-nginx
这将在后台启动一个容器,并将容器的 80 端口映射到宿主机的 8080 端口。
在浏览器中访问 http://localhost:8080,你将看到部署的 Web 应用。
Docker 的世界非常广阔,这只是一个开始,请继续探索和学习 Docker 的高级特性和最佳实践。后续也会继续更新相关的理论与实践内容。
只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
更多优质内容,请关注:
你真的会使用Vue3的onMounted钩子函数吗?Vue3中onMounted的用法详解
通过array.filter()实现数组的数据筛选、数据清洗和链式调用
el-table实现动态数据的实时排序,一篇文章讲清楚elementui的表格排序功能
shpfile转GeoJSON且控制转化精度;如何获取GeoJSON?GeoJson结构详解
通过array.reduce()实现数据汇总、条件筛选和映射、对象属性的扁平化、转换数据格式等
极致的灵活度满足工程美学:用Vue Flow绘制一个完美流程图
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。