当前位置: 首页 > news >正文

docker笔记

docker images
查询docker中的镜像
在这里插入图片描述
docker ps
查询运行的容器
在这里插入图片描述
docker exec -it 033e95d56c0d /bin/bash
进入某个容器
在这里插入图片描述
docker inspect 033e95d56c0d
查看容器详细信息
在这里插入图片描述
docker restart 033e95d56c0d
重启容器

docker start 1b200f31532c
运行容器

docker stop 18d6ee3e433a
停止容器

docker cp webtestfb.py b73f34b4d818:/home/
将文件复制到容器中的/home文件夹内

docker cp b73f34b4d818:/home/static ./home
将容器内的文件复制到外面

docker rmi 18d6ee3e433a
删除镜像
docker rmi -f 18d6ee3e433a
强制删除

编写一个docker-compose.yml

version: '3'
services:
  files_server:
    working_dir: /home/webServer
    image: python:3.12-alpine
    container_name: web_server
    environment:
      - TZ=Asia/Shanghai
      - LANG=C.UTF-8
      - PIP_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/
      - PIP_TRUSTED_HOST=mirrors.aliyun.com
    restart: always
    volumes:
      - D:/python312image/webServer:/home/webServer
    command: >
      sh -c "pip install --no-cache-dir fastapi uvicorn -r /home/webServer/requirements.txt && python /home/webServer/webapi.py"
    ports:
      - "5678:5678"
    network_mode: bridge

写一个简单的python文件

from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
import uvicorn

app = FastAPI()

app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

@app.get("/")
async def root():
    return {"message": "Hello World"}

if __name__ == "__main__":
    # 启动服务器
    uvicorn.run(app, host="0.0.0.0", port=5678)

通过docker compose up -d运行文件
在这里插入图片描述

安装完成后可以看到
在这里插入图片描述
浏览器上可以看到
在这里插入图片描述
我们还可以将本地容器打包后放到另外一台电脑上运行
docker commit 1b200f31532c my_image
将容器提交为my_image的镜像

docker save -o my_image.tar my_image
将镜像作为tar文件下载到本地

docker load -i my_image.tar
在其他电脑上运行镜像(服务器上docker load -i /home/my_image.tar)

docker run my_image
启动镜像

docker run -it -v “D:\python312image\webServer:/home/webServer” my_image
启动镜像时设置挂载目录

http://www.dtcms.com/a/66650.html

相关文章:

  • QEMU源码全解析 —— 块设备虚拟化(3)
  • 如何在需求分析阶段考虑未来扩展性
  • c++介绍函数指针 十
  • 面试高频#LeetCode#Hot100-字母异位词分组
  • Generative Image Dynamics(动态图像生成)
  • uni-app学习笔记——自定义模板
  • 基于 GEE 的城市热岛效应分析——可视化地表温度 LST 与归一化植被指数 NDVI 的关联
  • <03.13>八股文补充知识
  • 24个希腊字母
  • Unity中WolrdSpace下的UI展示在上层
  • AI智能分析网关V4将HTTP消息推送至安防监控视频汇聚EasyCVR平台的操作步骤
  • JAVA面试_进阶部分_dubbo负载均衡策略
  • uniapp APP使用web-view内嵌 h5 解决打包发版浏览器有缓存需要清除的问题
  • IO多路复用——epoll(20250307)
  • 关于Linux contOS 7 的防火墙
  • 蓝桥杯 之 回溯之充分剪枝
  • 深度学习优化算法全面解析:从理论到实践
  • PyTorch vs NumPy:核心区别与选择指南
  • wow-rag:task2-正式上路搞定模型
  • 红帆 iOffice M2 移动端密码爆破的渗透测试思路,绕过客户端实现Burpsuite批量跑,分享渗透思路,共建网络安全
  • 二维数组基础
  • BLEU评估指标
  • 静态程序分析
  • 网络安全和文档的关系
  • 【高项】信息系统项目管理师(五)项目范围管理【3分】
  • CSS 知识点总结1
  • 在ArcGIS中对图斑进行自上而下从左往右编号
  • 制造业数字化转型,汽车装备制造企业数字化转型案例,智能制造数字化传统制造业数字化制造业数字化转型案例
  • 【运维】服务器系统从centos7重装为ubuntu22.04
  • 医院本地化DeepSeek R1对接混合数据库技术实战方案研讨