【工程实践】Docker使用记录

前言

        服务上线经常需要将服务搬到指定的服务器上,经常需要用到docker,记录工作中使用过dcoker指令。

1.写Dockerfile

1.1 全新镜像

FROM nvidia/cuda:11.7.1-devel-ubuntu22.04ENV WORKDIR=/data/Qwen-14B-Chat
WORKDIR $WORKDIR
ADD . $WORKDIR/RUN apt-get update && apt-get -y --no-install-recommends install vim curl wget build-essential python3.10 python3-pip && update-alternatives --install /usr/bin/python  python /usr/bin/python3.10 1 && pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simpleRUN pip install flash_attn-2.3.3+cu117torch1.13cxx11abiFALSE-cp310-cp310-linux_x86_64.whl
#CMD ["sh", "-c", "python3 api.py -c /data/model/Qwen-7B-Chat -p 9092 -n 0.0.0.0"]
entrypoint tail -f /dev/null

1.2 复制镜像

FROM qwen-14b:v1.0#ENTRYPOINT ["tail", "-f", "/dev/null"]
COPY ./api.py /data/Qwen-14B-Chat/api.pyentrypoint tail -f /dev/null

2.建立docker镜像

docker build -f /ssd/dongzhenheng/Qwen-14B-Chat/Dockerfile -t qwen-1b:v1.0 .  

3.查看docker 镜像id

docker images

 4.根据镜像id 启动docker

        使用docker run 启动镜像。设置外挂载模型/ssd/dongzhenheng/LLM/Qwen-14B-Chat/,映射到容器内/data/model/Qwen-14B-Chat路径。

docker run --gpus all -v /ssd/dongzhenheng/LLM/Qwen-14B-Chat/:/data/model/Qwen-14B-Chat -p 9093:9093 -d 695aa69fcf3a /bin

5.使用docker ps查看启动的容器id

docker ps

6.根据容器id进入容器

   容器id为2733d1a26fd0

docker exec -it 2733d1a26fd0 bash

7.查看文件容器文件

cat aip.py

8.启动服务

python api.py -c /data/model/Qwen-14B-Chat -p 9093 -n 0.0.0.0

9.退出容器

control+A+D

10.停止容器

docker stop 529d9dee7ed1

11.删除镜像

docker rm 容器id
docker rmi 镜像id

12.docker save 

        使用 docker save 命令,可以将镜像保存为一个 tar 文件,这个文件中包含了镜像的所有层和元数据。可以将其复制到其他任何安装了 Docker 的机器上,并使用 docker load 命令加载回来。

docker save 695aa69fcf3a -o qwen-14b.tar

13.docker load

   docker load 是 Docker 命令行工具中用于加载保存在文件中的 Docker 镜像的命令。它可以将之前使用 docker save 命令保存的 Docker 镜像加载回来。

docker load -I qwen-14b.tar

14.docker tag

   docker tag 是 Docker 命令行工具中用于给镜像打标签的命令。它可以将一个镜像标记为新的标签,以便更容易地识别和管理。


docker tag qwen-14b qwen-14b:v1.0

15. docker login

   docker login 是 Docker 命令行工具中用于登录到 Docker 镜像仓库的命令。它允许用户使用给定的用户名和密码进行身份验证,以便在 Docker 镜像仓库中执行操作,例如拉取和推送镜像。

     在执行 docker login 命令时,需要提供有效的用户名和密码,以通过身份验证并登录到 Docker 镜像仓库。成功登录后,终端会显示一条消息,指示登录成功,并且 Docker 会将所登录的仓库地址和凭证存储在 ~/.docker/config.json 文件中,以便后续使用。

docker login -u myusername -p mypassword docker.io

16.上推镜像

   docker push 是 Docker 命令行工具中用于将本地 Docker 镜像上传到 Docker 镜像仓库的命令。在执行 docker push 命令之前,需要先使用 docker login 命令登录到 Docker 镜像仓库。

docker push 用户名/仓库名称/myimage:v1.0

     这将上传名为 myimage 的本地镜像到 Docker Hub,并将其标记为 v1.0。请确保将 用户名/仓库名称 和 myimage 替换为实际的用户名和镜像名称。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/171184.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机视觉(CV)技术的优势和挑战

计算机视觉技术在很多领域具有很大的优势,例如: 自动化:计算机视觉技术可以帮助实现自动化生产和检测,省去了人力成本和时间成本。 准确性:计算机视觉技术可以提高生产和检测的准确性,降低了人工操作产生的误差。 速度:计算机视觉技术可以实现高速速度的生产和检测,提高…

Python实战 | 使用 Python 和 TensorFlow 构建卷积神经网络(CNN)进行人脸识别

专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https:/…

前端工具nvm实现node自由

node的自由之路 前言 大家使用vue框架开发的朋友可能会遇到首次运行公司项目环境的时候,会出现使用npm install命令安装依赖包的时候出现各种各样的问题,其中很重要的一个错误原因就是因为你的nodejs版本和当时搭建环境的版本不一致造成的。今天就来给…

file2Udp增量日志转出Udp简介

https://gitee.com/tianjingle/file2udp 很多时候服务产生的日志需要进行汇总,这种统一日志处理的方式有elb,而且很多日志组件也支持日志转出的能力。但是从广义上来说是定制化的,我们需要一个小工具实现tail -f的能力,将增量日志…

跨国企业如何选择安全靠谱的跨国传输文件软件?

随着全球化的不断发展,跨国企业之间的合作变得越来越频繁。而在这种合作中,如何安全、可靠地将文件传输给合作伙伴或客户,成为了跨国企业必须面对的问题。 然而,跨国文件传输并不是一件容易的事情,由于网络物理条件的…

万宾科技智能传感器EN100-C2有什么作用?

在日常生活中井盖是一种常见的城市设施,但井盖出现问题可能会对人们的生活造成什么影响呢?移位或老化的井盖可能会威胁人们的安全,同时也会影响城市生命线的正常运行。然而智能井盖的出现为解决这些问题提供了有效的应对方案。 WITBEE万宾智能…

Vatee万腾外汇数字化策略:Vatee科技决策力的未来引领

在外汇市场,Vatee万腾通过其前瞻性的外汇数字化策略,正引领着科技决策的未来。这一数字化策略的崭新愿景为投资者提供了更智慧、更高效的外汇投资体验,成为科技决策领域的翘楚。 Vatee万腾的外汇数字化策略是科技决策力未来引领的典范。通过运…

二十、泛型(6)

本章概要 问题 任何基本类型都不能作为类型参数实现参数化接口转型和警告重载基类劫持接口 自限定的类型 古怪的循环泛型自限定参数协变 问题 本节将阐述在使用 Java 泛型时会出现的各类问题。 任何基本类型都不能作为类型参数 正如本章早先提到的,Java 泛型的…

DBever连接PG库

一、简介 DBeaver是一种通用数据库管理工具,适用于需要以专业方式使用数据的每个人;适用于开发人员,数据库管理员,分析师和所有需要使用数据库的人员的 免费(DBeaver Community) 的多平台数据库工具,支持 Windows、Li…

使用JAVA pdf转word

使用spire.pdf 非常简单。 查看 https://mvnrepository.com/artifact/e-iceblue/spire.pdf 注意&#xff0c;这个包在 e-iceblue 下。 下面开始撸代码 先来pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://mav…

高通SDX12:ASoC 音频框架浅析

一、简介 ASoC–ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。 本文基于高通SDX12平台,对ASoC框架做一个分析。 二、整体框架 1. 硬件层面 嵌入式Linux设备的Audio subsystem可以划分为Machine(板…

[100天算法】-球会落何处(day 76)

题目描述 用一个大小为 m x n 的二维网格 grid 表示一个箱子。你有 n 颗球。箱子的顶部和底部都是开着的。箱子中的每个单元格都有一个对角线挡板&#xff0c;跨过单元格的两个角&#xff0c;可以将球导向左侧或者右侧。将球导向右侧的挡板跨过左上角和右下角&#xff0c;在网…