了解和理解Docker的使用

简介: Docker背景Docker技术是基于Linux容器 虚拟容器技术的 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的

Docker背景

Docker技术是基于Linux容器 虚拟容器技术的 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker有优点:快速,一致交付你的应用程序 响应式部署和扩展 在同一个硬件运行更多工作负载。

Docker技术是基于Linux容器 虚拟容器技术的

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

  • Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化
  • 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker有优点

以上全部正确

  • Docker有优点:快速,一致交付你的应用程序
  • 响应式部署和扩展
  • 在同一个硬件运行更多工作负载

Docker安装常见的应用

Docker安装常见的应用,包括ubuntu/CentOS/Windows/MacOS/Linux

Nginx/Node.js/PHP/JAVA(openjdk)/MySQL/Tomcat/Redis/MongoDB/Apache

RocketMQ/Zookeeper/Jenkins/elasticsearch几乎所有的应用及微服务

Docker指令

获取镜像

docker pull redis

exit 退出

cker ps (容器有在运行)

docker stop / restart 停止、重启

启动、进入具体容器: docker run -it ubuntu /bin/bash

启动已停止的镜像:docker start b750bbbcfd88

后台运行:docker run -itd --name ubuntu-test ubuntu /bin/bash

进入容器

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

docker attach

docker exec:推荐大家使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止。

运行一个 web 应用

docker pull training/webapp # 载入镜像

docker run -d -P training/webapp python app.py

镜像(Image)

容器(Container)

仓库(Repository)

列出镜像列表

docker images

pull 镜像 上述应用就是镜像,镜像可以指定版本

查找镜像 docker search httpd

删除镜像:docker rmi hello-world

更新镜像:docker commit -m=“提交描述信息” -a=“作者” e218edb10161(容器id) runoob/ubuntu:v2(要创建的目标镜像名)

构建镜像:我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。

每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。

第一条FROM,指定使用哪个镜像源

RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。

然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。

设置镜像标签 docker tag 860c279d2fec runoob/centos:dev

logo:集装箱

网络端口映射

创建应用容器:docker run -d -P (–name(命名)) training/webapp python app.py

新建网络:docker network create -d bridge test-net

运行一个容器并连接到新建的 test-net 网络:

docker run -itd --name test1 --network test-net ubuntu /bin/bash

docker run -itd --name test2 --network test-net ubuntu /bin/bash

//ping测试他们容器之间可以连通,

如果没装ping:apt-get update

apt install iputils-ping

仓库管理:登录到远程的docker

描述 Docker 容器的生命周期。

Docker 容器经历以下阶段:

创建容器

运行容器

暂停容器(可选)

取消暂停容器(可选)

启动容器

停止容器

重启容器

杀死容器

销毁容器

相关文章
|
8月前
|
数据采集 JSON API
京东商品详情API秘籍!Python爬虫轻松获取SKU属性数据
京东商品详情API提供商品基础信息、实时价格、SKU规格及库存等120+字段,支持批量查询(单次200 SKU),数据延迟≤30秒,适用于价格监控、库存管理与竞品分析,基于HTTPS协议,返回标准化JSON格式。
|
5月前
|
机器学习/深度学习 存储 人工智能
大模型部署算力账本:手把手教你算清GPU显存这笔账
本文详解大模型部署中GPU显存计算的关键:以Llama 70B为例,拆解模型权重、KV Cache、其他开销三大部分,揭示高并发下显存需求超1TB的真相,并提供量化、并行优化等降本策略,助你精准规划硬件投入,避免资源浪费或服务崩溃。
|
12月前
|
JSON 前端开发 API
deepseek0528发布
DeepSeek-R1-0528 是 DeepSeek 团队于 2025 年发布的 R1 推理大模型升级版,虽定位为“小版本试升级”,但表现远超预期。其在数学推理(AIME 测试准确率提升至 87.5%)、编程能力(接近 OpenAI o3 水平,可生成 1000+ 行无 bug 代码)、长文本处理(支持 128K tokens)及写作质量等方面均有显著提升。此外,新增 Function Calling 和 JSON 输出功能,便于开发者集成。用户可通过 Ollama 本地部署或访问 https://chat.deepseek.com/ 在线体验满血版。
|
10月前
|
数据采集 人工智能 自然语言处理
让AI读懂代码需求:模块化大模型微调助力高效代码理解与迁移
本文介绍了一种解决开源项目代码升级中“用户需求关联相应代码”难题的创新方法。面对传统Code RAG和Code Agent在召回率、准确率和稳定性上的不足,以及领域“黑话”和代码风格差异带来的挑战,作者团队提出并实践了一套以大模型微调(SFT)为核心的解决方案。
1465 21
|
SQL Java 数据库连接
【Java笔记+踩坑】MyBatisPlus基础
MyBatisPlus简介、标准数据层开发CRUD、业务层继承IService、ServiceImpl、条件查询、LambdaQueryWrapper、id生成策略、逻辑删除、乐观锁@Version、代码生成器、ActiveRecord
【Java笔记+踩坑】MyBatisPlus基础
|
存储 前端开发 JavaScript
前端学 Ruby:熟悉 Ruby 语法
前端学 Ruby:熟悉 Ruby 语法
203 0
|
JavaScript Java 测试技术
基于springboot+vue.js的基于工程教育认证的计算机课程管理平台附带文章和源代码设计说明文档ppt
基于springboot+vue.js的基于工程教育认证的计算机课程管理平台附带文章和源代码设计说明文档ppt
198 6
|
程序员 编译器 C语言
C生万物 | 程序员必备实用调试技巧分享-3
C生万物 | 程序员必备实用调试技巧分享
341 0