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

docker常用命令使用dockerfile构建镜像,推送到私有镜像仓库

docker常用命令和操作

# 创建镜像(进入dockerfile所在的路径)
docker build -t my_image:1.0 .

# 查看镜像
docker images

# 创建容器
docker run -dit --restart=always -p 9700:9700 --name my_container my_image:1.0 

# 查看容器
docker ps -a

# 进入容器
docker exec -it my_container /bin/bash

# 退出容器
exit

# 启动容器(容器状态为exited)
docker start my_container 

# 暂停容器
docker stop my_container 

# 删除容器
docker rm my_container 

######
# 将容器转化为镜像
docker commit my_container  my_image:1.2

# 将镜像转为压缩包
docker save -o my_package.tar my_image:1.2

# 删除原镜像
docker rmi my_image:1.2

# 将压缩包解压得到镜像
docker load –i my_package.tar



#############将镜像推送到远程仓库##########


##########################
####3创建基础镜像教程########
从dockerhub上拉取python镜像
docker pull python:3.10
# 创建容器不进入
docker run -dit --name=p1 python:3.10

# 进入容器
docker exec -it p1 bash

# 创建文件夹
mkdir app

# 推出容器
exit

# 将需要的依赖拷贝到镜像指定目录
docker cp torchvision-0.15.1+cpu-cp310-cp310-linux_x86_64.whl p1:app/

# 升级pip
pip3 install --upgrade pip


# 安装需要的依赖(加上镜像源)
pip install -r requirements_new.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 退出镜像
exit

# 将容器打包为镜像(确保容器正在运行)
docker commit p1 logistics_park:base

# 标记镜像
docker tag logistics_park:v1.5 10.82.27.215:10081/ai_platform/logistics_park:v1.5

# 将镜像推送到私有仓库
docker push 10.82.27.215:10081/ai_platform/logistics_park:v1.5

#######根据基础镜像#######构建镜像
# 构建镜像---使用dockerfile构建
docker build -t logistics_park:v1.1 .

# 容器运行命令:
docker run -dit --restart=always -p 9700:9700 --name logistics_park logistics_park:v1.1

# 实时查看容器日志(Ctrl + C退出)
 docker logs -f logistics_park

# 类似cat的查看方式
 docker logs logistics_park

dockerflie

使用dockerdocker build命令来构建

# docker build -f 指定dockerflie路径  -t  镜像名称:Tag   "."表示当前目录
# 如果dockerflie在当前目录,则可以省略
docker build -f path/to/Dockerfile -t myapp:latest .  
# 使用官方的Python运行时作为父镜像
FROM 10.82.27.215:10081/ai_platform/logistics_park:base

# 设置工作目录为/app
WORKDIR /app

# 将当前目录内容复制到位于 /app 的容器中
COPY . /app

# 安装任何需要的包
# RUN pip install torch-2.0.0+cpu-cp310-cp310-linux_x86_64.whl
# RUN pip install torchvision-0.15.1+cpu-cp310-cp310-linux_x86_64.whl
# RUN pip install --no-cache-dir -r requirements_new.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install ai_platform_dataset_sdk-1.0.0-py3-none-any.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install gevent==24.2.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

# 将/etc/localtime链接到上海时区文件
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 验证时区
RUN date

# 对外暴露的端口号
EXPOSE 9700

# 定义环境变量
ENV model=gpt-4-vision-preview
ENV api_key=d2ab5xxxxe4b929b
ENV api_base=https:XXXXXX.openai.azure.com/
ENV deployment_name=vision-preview-1
ENV api_version=2023-12-01-preview

# 当容器启动时运行python app.py
CMD ["python", "app.py"]

docker compose用法

相当于启动启动容器命令,可以在文件中指定参数,尤其适合需要同时启动多个容器,并且容器间存在交互的场景

docker-compose.yaml文件

version: '3'
services:
  logistics_park:
    image: logistics_park:datasets_v1
    container_name: logistics_park
    restart: always
    ports:
      - "9700:9700"

# 运行命令:
# docker compose up -d
# docker compose up --build -d   后台运行

http://www.kler.cn/news/282869.html

相关文章:

  • 【AI绘画】Midjourney前置指令/describe、/shorten详解
  • 适配算能BM1684开发板,bmodel推理模型转换
  • 矩阵分块乘法的证明
  • C语言典型例题55
  • VScode打开json文件和md文件直观展示方法
  • 免费批量Excel文件合并、拆分工具
  • Linux系统结构
  • 加密软件的特殊功能有哪些
  • STM32 - 按键控制LED灯
  • 在centos中安装 --nmon性能系统监控工具
  • 【实战场景】敏感词过滤如何实现?
  • 阿里最新发布Qwen2-VL:看视频的AI到底能干些什么惊人的事?
  • gui.js可视化插件的使用
  • 前端需调用后端数据作为判断条件
  • spring揭秘14-JdbcTemplate概述与使用操作对象访问数据
  • CSS 嵌套元素的隐藏规则
  • Spring Boot DevTools:简化开发,实现热部署
  • 棱镜七彩参编的又一国家标准正式发布!
  • 探索音视频SDK在软件集成与私有化部署中的技术难题与解决策略
  • JAVA基础:文件字符流
  • C#高效异步文件监控与日志记录工具
  • Apache RocketMQ 中文社区全新升级丨阿里云云原生 7 月产品月报
  • 解决IDEA 控制台中文乱码及无法输入中文
  • MacOS通过Docker部署MySQL数据库,以及Docker Desktop进行管理
  • C++ 快速输入的优化与缓冲区管理(竞赛必用)
  • 使用requests库发起post请求处理json的两种方式
  • ROS 2 Jazzy和QT组合开发教程
  • 音频PCM的能量dB计算
  • 一个符合软件开发工程师认知的思考框架简单了解下
  • 1899. 最满意的方案