通过dockerfile构建镜像
程序员文章站
2024-01-28 16:49:34
...
通过dockerfile构建新镜像
dockerfile的编写规则可以参考链接和链接
dockerfile例子:
ARG IMAGE_VERSION=11111
FROM frolvlad/alpine-oraclejdk8:$IMAGE_VERSION as runner
MAINTAINER 111111111@qq.com
WORKDIR /home/admin/
COPY bash_profile /tmp/bash_profile
RUN yum -y install XXX && \
yum clean all && \
rm -rf /usr/lib64/libstdc++.so.6 && \
cp /root/miniconda3/lib/libstdc++.so.6.0.26 /usr/lib64/ && \
ln -s /usr/lib64/libstdc++.so.6.0.26 /usr/lib64/libstdc++.so.6
USER admin
RUN source /home/admin/py3/bin/activate && \
pip install cython==0.29.5
USER root
Dockerfile 的指令每执行一次都会在 docker 上新建一层。所以过多无意义的层,会造成镜像膨胀过大,以 && 符号连接命令,这样执行后,只会创建 1 层镜像
通过镜像反推dockerfile
如果手中只有镜像,想查看dockerfile的内容,可以通过docker history mysql:5.7查看,但是显示不全,可以加上–no-trunc
构建镜像
可以使用docker build构建镜像,注意最后的点 . 这个不能少,代表dockerfile文件
另外dockerfile的默认名字为Dockerfile,默认搜索Dockerfile,如果是其他名字,
docker build -t reg.docker.alibaba-inc.com/ray_deploy/ray-deploy-ci:latest .
其他
docker使用的时候有时候会遇到磁盘空间满了,可以参考链接
推荐阅读
-
通过dockerfile构建镜像
-
GitHub Actions构建Docker镜像
-
Docker学习笔记(三):DockerFile简介、DockerFile构建镜像、发布镜像
-
IDEA基于Dockerfile自动构建镜像
-
Springboot(十二)构建docker images镜像
-
使用Dockerfile创建镜像(JDK镜像,spring-boot-web镜像)
-
Docker使用Dockerfile创建Centos(tomcat+jdk)镜像
-
SpringBoot+Docker实现项目的Maven打包&镜像构建&容器中运行==简单自动化部署
-
Docker教程(四) Docker镜像构建
-
构建docker镜像基本教程