Bob's Blog

Web开发、测试框架、自动化平台、APP开发、机器学习等

返回上页首页

用docker给centos镜像装python3以及上传artifacts



记录一下根据centos官方镜像自定义自用镜像的一些命令。

首先可以去看看有不有可用的镜像以及版本,比如我可以搜索到python-38-centos,也能找对应版本的centos。可以在网页版搜索:https://hub.docker.com/,也可以用命令:

docker search centos

找到我想要的centos版本,通过tag过滤:

docker pull centos:7.9.2009

列出当前本地可用的所有镜像:

docker images

通过某一个镜像启动,如果想让其在后台运行而不退出可以同时按ctrl + p + q:

docker run -it centos:7.9.2009 /bin/bash

列出当前本地启动的容器:

docker ps -a

进入当前正在运行的某个容器,通过其id:

docker exec -it 363ca19a7ff9 /bin/bash

删除某个容器:

docker rm 363ca19a7ff9

删除某个镜像:

docker rmi centos:7.9.2009

通过dockerfile来构建新镜像,./代表Dockerfile在当前路径:

docker build -t centos:py38-nginx ./

如果想上传新镜像到公司的artifacts,用如下命令:

docker login artifacts.xxx.com/automation/python
# 如果不执行这个tag命令,将centos:py38-nginx加一个tag为artifacts路径的话,可能会遇到这个错误:An image does not exist locally with the tag
docker tag 253a207bc3d8 artifacts.xxx.com/automation/python/centos:py38-nginx
docker push artifacts.xxx.com/automation/python/centos:py38-nginx

在centos7的基础上,加上python3.8和nginx的镜像可以用如下的Dockerfile:

FROM centos:7.9.2009

USER root
RUN yum install gcc openssl-devel bzip2-devel sqlite-devel libffi-devel zlib-devel python-devel openldap-devel -y
RUN curl https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tgz --output /tmp/Python-3.8.11.tgz
WORKDIR /tmp
RUN tar xzf Python-3.8.11.tgz
WORKDIR /tmp/Python-3.8.11
RUN ./configure --enable-optimizations
RUN yum install make -y
RUN make install
RUN ln /usr/local/bin/python3.8 /usr/bin/python3
RUN ln /usr/local/bin/pip3.8 /usr/bin/pip3
WORKDIR /tmp
RUN rm -rf Python-3.8.11.tgz
RUN rm -rf /tmp/Python-3.8.11
RUN yum -y install epel-release && \
    yum -y install nginx && \
    yum clean all

 

下一篇:  为pip设定条件安装不同的包
上一篇:  Python识别图片特定区域的文字

共有0条评论

添加评论

暂无评论