docker 创建Dockerfile

一、定义

1.用Dockerfile 创建镜像。

2.设置自启动方式二:

3.容器自启动

4.glm4 容器部署案例

二、实现

1.用Dockerfile 创建镜像。

创建空文件夹:

复制代码
mkdir /myfile
cd /myfile
pwd

2.编写Dockerfile

复制代码
FROM pytorch/pytorch:2.1.0-cuda12.1-cudnn8-devel
# 指定作者和邮箱
MAINTAINER cnki<cnki@123.com>
#设置环境
ENV MYPATH /usr/local
WORKDIR $MYPATH
#更新apt-get    
RUN apt-get update  
# 安装vim编辑器
#RUN apt-get install install vim

#安装库 ADD是相对路径,把requirement.txt添加到容器中,安装包必须要和Dockerfile文件在同一位置
COPY requirement.txt /usr/local
RUN cd /usr/local
RUN pip install numpy
RUN pip install -r /usr/local/requirement.txt -i https://pypi.tuna.tsinghua.edu.cn/simple


# ADD是相对路径,把包添加到容器中,安装包必须要和Dockerfile文件在同一位置
COPY hello.py /usr/local/

#启动文件添加到容器
COPY start.sh /usr/local/
RUN chmod +x /usr/local/start.sh 


EXPOSE 80

 #############遇到的问题,docker 执行指令无法执行#############
# 容器启动执行的默认命令   
CMD echo $MYPATH
CMD echo "success--------------ok"
CMD /bin/bash
ENTRYPOINT ["/bin/sh", "-c", "/usr/local/start.sh"]     #执行失败
CMD ["ls", "/usr/local"]   #执行失败

# docker run --entrypoint "sh /usr/local/start.sh" myenv:1.5   方式二: 找不到路径 

3.构建

在myfile目录下构建镜像

复制代码
# 注意:定义的TAG后面有个空格,空格后面有个点
# docker build -t 新镜像名字:TAG .
docker build -t myenv:1.5 .


4.运行镜像

docker run -d myenv:1.5

2.设置自启动方式二 : 简单粗暴

复制代码
vim /root/start.sh
######
chmod +x /root/start.sh
vim /root/.bashrc

写入的内容
############################################
# start hello.py 
if [ -f /root/start.sh ]; then
        /root/start.sh
fi


3.容器自启动

docker exec -it --restart=always xxxx /bin/bash

4.glm4 容器部署案例

复制代码
FROM pytorch/pytorch:2.1.0-cuda12.1-cudnn8-devel
# 指定作者和邮箱
MAINTAINER cnki<cnki@123.com>
#设置环境
ENV MYPATH /home
WORKDIR $MYPATH
#更新apt-get    
RUN apt-get update  

#安装库 ADD是相对路径,把requirement.txt添加到容器中,安装包必须要和Dockerfile文件在同一位置
COPY requirement.txt /home
RUN cd /home
RUN pip install -r /home/requirement.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu121
RUN pip install vllm==0.6.4


COPY glm4-9b-chat /home/glm4-9b-chat
#启动文件添加到容器
COPY start.sh /root
RUN chmod +x /root/start.sh 


EXPOSE 80
相关推荐
Ruiery2 小时前
Linux 6.6内核 CPU 深度解析(七):调度器启动 — 从单核到多核,调度器分阶段点亮
linux·运维·服务器
50万马克的面包2 小时前
CSDN-栈队列数组-知识点整理
linux·运维·服务器
MicrosoftCloud3 小时前
用户权限 04|/etc/sudoers 安全配置:从最小授权到「别把 ALL 随便给人」
运维·安全·ubuntu·sudo·sudoers
梦想不只是梦与想3 小时前
docker-compose.yml
docker·docker-compose·docker run
꯭自꯭闭꯭4 小时前
达梦事物特性及MVCC
linux·运维·数据库
亚川楼宇自控系统数据中心厂家5 小时前
实验室智能化管理系统|人环物智一体化管控平台
运维
zmsup6 小时前
Agent 上下文调优:结合 OpsArk 运维智能体,设计模型每一步真正需要的信息
运维·agent·上下文压缩·运维智能体·上下文调优
吴声子夜歌9 小时前
Nginx应用与运维——Nginx负载均衡应用实战(二)
运维·nginx·负载均衡
lisanmengmeng9 小时前
NRPE 添加命令(一)
linux·运维·服务器
pt10439 小时前
CML网络仿真入门-2:使用CML模拟网络实验环境
运维·网络协议