wget
vim
net-tools
# 以下软件需要手动启动
ssh
redis
mysql
anaconda
nginx
apt install openssh-server
vi /etc/ssh/sshd_config # 编辑ssh配置文件
PermitRootLogin yes # 把PermitRootLogin prohibit-password 改为 PermitRootLogin yes
PubkeyAuthentication yes # 开启公钥登录
# 启动ssh
service ssh start
# 查看ssh状态
service ssh status
# 设置ssh服务开机自启:
systemctl is-enabled ssh # 虽然好像没什么用,每次重启后都需要手动启动ssh
apt install redis-server
redis-server /etc/redis/redis.conf
systemctl status redis
wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh --no-check-certificate
bash Anaconda3-2024.02-1-Linux-x86_64.sh
source ~/.bashrc
conda --version
docker pull nvidia/cuda:12.5.0-base-ubuntu22.04
docker run --rm --runtime=nvidia --gpus all nvidia/cuda:12.5.0-base-ubuntu22.04 nvidia-smi
docker run -d \
-p 20022:22 \ # ssh端口
-p 23306:3306 \ # mysql数据库端口
-p 26379:6379 \ # redis端口
-p 27001:7001 \ # 项目端口
-v F:/pythonProject/Corrective_fintune_v1:/home/pythonProject \ # 项目代码
-v F:/pythonProject/Corrective_fintune_v1/envs:/root/anaconda \
-v /home/free/python_project/Stirling-PDF/logs:/logs \
-v /home/free/python_project/Stirling-PDF/customFiles:/customFiles \
-e DOCKER_ENABLE_SECURITY=true \
-e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=true \
-e LANGS=zh_CN \
-e http_proxy=socks5://192.168.20.21:1080 \
-e https_proxy=socks5://192.168.20.21:1080 \
--name base_dev_env \
--privileged=true \
nvidia/cuda:12.5.0-base-ubuntu22.04
docker run -itd -p 20022:22 -p 27001:7001 -p 23306:3306 -p 26379:6379 --name base_dev_env --privileged=true nvidia/cuda:12.5.0-base-ubuntu22.04
docker exec -it base_dev_env /bin/bash
# 基础镜像
FROM nvidia/cuda:12.5.0-base-ubuntu22.04
# 设置工作目录
WORKDIR /CODE
# 安装基础依赖
# 更新系统并安装必要的软件包
RUN apt-get update \
&& apt-get install -y python3.11 python3.11-venv python3.11-dev \
&& apt-get install -y nginx \
&& apt-get install -y redis \
&& apt-get install -y vim \
&& apt-get clean
# 设置 python3 和 pip3 指向 Python 3.11
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1 \
&& update-alternatives --install /usr/bin/python python /usr/bin/python3.11 1
# 安装 pip
RUN apt-get install -y python3-pip
# 复制项目文件到容器
COPY . /CODE
# 安装项目依赖
RUN pip install --no-cache-dir -r /CODE/requirements.txt
# 暴露端口
EXPOSE 80
EXPOSE 7001
# 设置默认命令
CMD ["/bin/bash"]
# 将交互式的容器提交为一个新的镜像
docker commit base_dev_env base_dev_env:v1
# 基础镜像
FROM base_dev_env:v1
# 设置工作目录
WORKDIR /home
# 创建启动脚本
RUN echo -e "#!/bin/bash \n\
service ssh start \n\
redis-server /etc/redis/redis.conf \n\
service mysql start \n\
tail -f /dev/null" > start.sh
# 赋予脚本执行权限
RUN chmod +x start.sh
# 暴露端口
EXPOSE 22
EXPOSE 7001
EXPOSE 3306
EXPOSE 6379
# 设置默认命令
CMD ["/home/start.sh"]
docker build -t base_dev_env:v2.0 .
docker run -d \
-p 20022:22 \ # ssh端口
-p 23306:3306 \ # mysql数据库端口
-p 26379:6379 \ # redis端口
-p 27001:7001 \ # 项目端口
-v F:/pythonProject/Corrective_fintune_v1:/home/pythonProject \ # 项目代码
-v F:/pythonProject/Corrective_fintune_v1/envs:/root/anaconda3/envs \ # 环境
-v F:/pythonProject/Corrective_fintune_v1/mysql_data:/var/lib/mysql \ # mysql数据库文件
--name base_dev_env_v2 \
--privileged=true \
base_dev_env:v2.0
docker run -itd -p 20022:22 -p 27001:7001 -p 23306:3306 -p 26379:6379 -v F:/pythonProject/Corrective_fintune_v1:/home/pythonProject -v F:/pythonProject/Corrective_fintune_v1/envs:/root/anaconda3/envs --name base_dev_env_v2 --privileged=true base_dev_env:v2.0