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
相关推荐
wuicer4 分钟前
ubuntu 20.04 安装anaconda以及安装spyder
linux·运维·ubuntu
小晶晶京京2 小时前
day34-LNMP详解
linux·运维·服务器
fengyehongWorld3 小时前
Linux crontab定时任务
linux·运维
碎像3 小时前
Linux上配置环境变量
linux·运维·服务器
40kuai4 小时前
kubernetes中数据存储etcd
容器·kubernetes·etcd
敲上瘾4 小时前
Linux系统cgroups资源精细化控制基础
linux·测试工具·docker·压力测试·cgroups
sunflower_w5 小时前
linux I2C核心、总线与设备驱动
linux·运维·服务器
myzzb5 小时前
基于uiautomation的自动化流程RPA开源开发演示
运维·python·学习·算法·自动化·rpa
Harvey_D5 小时前
【部署K8S集群】 1、安装前环境准备配置
云原生·容器·kubernetes
伊成6 小时前
Docker 部署 Nginx 完整指南
nginx·docker·容器