Dockerlile生成基于ubuntu的python3.9镜像

1. 新建一个文件夹python

2. 在里面新建一个doekerfile文件

dockerfile文件内容如下:

################################################
#
################################################
#
#生成SSH服务的ubuntu镜像
#安装python运行环境
#
################################################

#基于哪个镜像生成新的镜像
FROM ubuntu:20.04

#作者名
MAINTAINER haibin253

#设置环境变量
ENV TZ Asia/Shanghai
ENV LANG zh_CN.UTF-8

#执行命令
#替换为阿里源
RUN sed -i 's#http://archive.ubuntu.com/#http://mirrors.aliyun.com/#' /etc/apt/sources.list \
    && sed -i 's#http://security.ubuntu.com/#http://mirrors.aliyun.com/#' /etc/apt/sources.list

#更新软件源并安装软件
RUN apt-get update -y \
    && apt-get -y install iputils-ping \
    && apt-get -y install wget \
    && apt-get -y install net-tools \
    && apt-get -y install vim \
    && apt-get -y install openssh-server \
    && apt-get -y install python3.9 \
    && apt-get -y install python3-pip python3-dev \
    && cd /usr/local/bin \
    && rm -f python \
    && rm -f python3 \
    && rm -f pip \
    && rm -f pip3 \
    && ln -s /usr/bin/python3.9 python \
    && ln -s /usr/bin/python3.9 python3 \
    && ln -s /usr/bin/pip3 pip \
    && ln -s /usr/bin/pip3 pip3 \
    && python -m pip install --upgrade pip \
    && apt-get clean \
    && rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/*

#设置密码
RUN echo 'root:root' |chpasswd

#允许root用户登入
RUN sed -ri 's/^#PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config

#创建sshd目录
RUN mkdir /var/run/sshd

# 声明端口
EXPOSE 22

#开始ssh服务
CMD ["/usr/sbin/sshd", "-D"]

3.cmd 进入python目录

4开始编译python,命令如下:

使用当前目录的 Dockerfile 创建镜像,标签为 haibin253/python:3.9
后面的 "."表示当前目录

docker build -t haibin253/python:3.9 .

运行等待生成镜像
完成后查看镜像,复制IMAGE ID

docker images

运行容器,后面的haibin253/python:3.9就是上面编译的镜像标签
--name python是你想创建的容器名字

docker run --name python -i -t -d -p:10112:22 haibin253/python:3.9

然后输入命令进入容器
python 是上一步的容器名

docker exec -i -t python /bin/bash

现在就可以使用容器中的python了
测试python和pip是否可用


测试python和pip是否可用
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容