docker 安装 python

本文介绍了如何通过Docker Hub获取Python 3.6官方镜像,进行Docker安装,并利用挂载卷和工作目录运行Python文件。还提到了Dockerfile以及启动SSH的相关步骤。
摘要由CSDN通过智能技术生成
  1. 查找Docker Hub上的python镜像

docker search python:3.6
在这里插入图片描述

  1. 拉取官方镜像
    docker pull python:3.6

  2. 查看镜像
    docker images
    在这里插入图片描述

  3. 运行python 文件

docker run -v /usr/local/mypython:/usr/src/myapp -w /usr/src/myapp python:3.6 python testPython.py
在这里插入图片描述

  • docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
    -v 挂载主机上的文件卷到容器
    -w 容器内的默认工作目录
    –name 容器标签
    在这里插入图片描述
# 进入容器
[root@xxxxx ~]# docker exec -it python3.6  bash
----------------
# 容器内的工作目录
root@xxxx:/usr/src/myapp# pwd
/usr/src/myapp
root@aaaaa:/usr/src/myapp# ls
testPython.py

  • docker file :
FROM python:3.7.1

MAINTAINER hszhang

#  设置时区,执行更新
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo 'Asia/Shanghai' >/etc/timezone \
    && apt-get update

# flask环境参数变量
ENV FLASK_ENV production
ENV DJANGO_ENV production
ENV SECRET_KEY 123456

启动ssh

# 复制requirements.txt至容器内
COPY sshpass-1.06.tar.gz ./

# 执行命令 增加ssh支持, 安装python依赖库 安装jdk
RUN echo 'root:sscf@cs' | chpasswd \
    && apt-get -y install openssh-server \
    && mkdir /var/run/sshd \
    && mkdir -p /root/.ssh  \
    && sed -ri 's/session	required	pam_loginuid.so/#session	required	pam_loginuid.so/g' /etc/pam.d/sshd \
    && sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config \
    && echo "export VISIBLE=now" >> /etc/profile \
    && apt-get -y install default-jdk \
    && tar xvzf sshpass-1.06.tar.gz && cd sshpass-1.06 && ./configure && make && make install && cd ../ && rm -rf sshpass-1.06

# 暴露 22 端口
EXPOSE 22

# 启动sshd
CMD ["/usr/sbin/sshd", "-D"]

linux脚本

#!/bin/bash
# python 容器构建脚本
usage()
{
    echo "使用方法:"
    echo "  build_intfFrame.sh [-p path] [-t tag_name] [-f dockerfile_name] [-h help]"
    echo "详细介绍:"
    echo "    path,            镜像编译的主目录, 约定为项目顶级目录下."
    echo "    tag_name,        镜像的 tag 名称"
    echo "    dockerfile_name, 镜像的 dockerfile 文件名"
    echo "    help,            帮助信息"
    exit -1
}

path="/usr/local/python"
tag_name="fin:python_base`date +%Y%m%d%H%M`"
dockerfile_name="python.dockerfile"
while getopts "p:t:f:h" arg #选项后面的冒号表示该选项需要参数
do
    case $arg in
            p) path="$OPTARG";;
            t) tag_name="$OPTARG";;
            f) dockerfile_name="$OPTARG";;
            h) usage;;
            ?) usage;;
    esac
done

echo "path=$path"
echo "tag_name=$tag_name"
echo "dockerfile_name=$dockerfile_name"

cd $path \
&& sudo docker build -t $tag_name -f $dockerfile_name .

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值