用docker给centos镜像装python3以及上传artifacts
2021年8月3日 - 由Bo 0 评论 1352 阅读
记录一下根据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识别图片特定区域的文字