基于Docker构建Python开发环境

1. Dockerfile

dockerfile所在目录结构

shell 复制代码
FROM python:3.8
WORKDIR  /leo
RUN apt-get install -y wget
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
# ssh免密登录
COPY id_rsa.pub /leo
RUN mkdir ~/.ssh\
&& cat /leo/id_rsa.pub >> ~/.ssh/authorized_keys
RUN touch /leo/start.sh
RUN echo "service ssh restart; while [ 1 == 1 ]; do echo '123' ; sleep 100 ; done;" > /leo/start.sh
# ssh
RUN apt-get update \
&& apt-get install -y libwrap0 openssh-server\
&& echo "PermitRootLogin yes" >>  /etc/ssh/sshd_config
# git配置自动保存密码
RUN git config --global credential.helper store \
&& git config --global user.name "LeoLi"\
&& git config --global user.email  LeoLi.Li@groupm.com
ENTRYPOINT [ "bash", "/leo/start.sh"]

build

shell 复制代码
docker build -f ./DockerfilePython -t python38:1.0 .
2. docker run
复制代码
docker run -d  -p 10001:22  -p  8888:5000 -p 9000:9000 -p 7777:7777  -v C:\Users\leoli.li\DockerShare:/leo  --name=python38  leo-python38:latest

查看ssh服务是否正常启动

service ssh status

3.Vscode 免密打开项目

config

shell 复制代码
Host gme
    HostName 127.0.0.1
    Port 10001
    User root
    IdentityFile C:\Users\leoli.li\.ssh\id_rsa
git

第一次拉取代码需要输入用户名密码,后面就不需要了

相关推荐
cooldream20091 小时前
Python 包管理新时代:深入了解 `uv` 的使用与实践
python·uv·包管理器
之歆1 小时前
Python-魔术方法-创建、初始化与销毁-hash-bool-可视化-运算符重载-容器和大小-可调用对象-上下文管理-反射-描述器-二分-学习笔记
笔记·python·学习
胖达不服输1 小时前
「日拱一码」025 机器学习——评价指标
人工智能·python·机器学习·评价指标
潘晓可2 小时前
Docker部署Nginx代理多个服务:公网域名与内网IP场景全解
nginx·docker·nginx proxy
brave_zhao2 小时前
JavaBeanUtils javaBean转map, 实体类转map,实体集合转List<Map>
linux·windows·python
KKKingWei3 小时前
Kubernetes Dashboard UI 部署安装
云原生·容器·kubernetes
apihz3 小时前
通用图片搜索-搜狗源免费API接口使用指南
android·java·python·php·音视频
爱吃面条的猿4 小时前
pycharm中自动补全方法返回变量
ide·python·pycharm
倔强青铜三4 小时前
苦练Python第15天:Lambda函数——Python的匿名一行杀器
人工智能·python·面试