通过dockerfile构建镜像

通过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
通过dockerfile构建镜像_第1张图片
通过dockerfile构建镜像_第2张图片

构建镜像

可以使用docker build构建镜像,注意最后的点 . 这个不能少,代表dockerfile文件
另外dockerfile的默认名字为Dockerfile,默认搜索Dockerfile,如果是其他名字,
docker build -t reg.docker.alibaba-inc.com/ray_deploy/ray-deploy-ci:latest .

其他

docker使用的时候有时候会遇到磁盘空间满了,可以参考链接

你可能感兴趣的:(其他工具)