docker镜像制作、压缩及镜像加载
  TEZNKK3IfmPf 2023年11月14日 14 0

系统环境

# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

编写Dockerfile文件

FROM centos:7.2.1511
# 作者标签,联系方式
LABEL maintainer "wtf@datagrand.com"
# 环境变量硬编码及时区
ENV ENVIRONMENT production
RUN cd / && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# yum 基础工具,记住clean
RUN yum clean all \
    && yum makecache \
    && yum install -y wget gcc gcc-c++ python-devel bzip2 \
    && yum clean all
COPY docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm /usr/local/docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
ADD docker.txt  /tmp/docker.txt
# docker 基础工具及版本
RUN cd /usr/local \
    && yum install -y docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
# 镜像启动命令 
CMD ["systemctl","start","docker"]

文件目录路径

# pwd    
/root/dockerfile
# 说明:上面是当前文件路径,目录内容如下:
# ls
docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm 
docker.txt
Dockerfile
docker_shell.sh
# docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm、Dockerfile、docker_shell.sh,docker.txt在同一个目录下!
# docker.txt的内容:
# cat docker.txt
this is a test

编写脚本docker_shell.sh

# cat docker_shell.sh
TIMENOW=`date +%y.%m.%d.%H%M`
# -f 指定文件 , -t 指定生成镜像名称 , 冒号后为版本号 , 例子 : ##docker_image:17.08.01.1311
docker build -f Dockerfile -t docker_image: .

执行docker_shell.sh

sh docker_shell.sh

查看镜像

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker_image        18.01.14.1702       d227774c2960        23 minutes ago      588MB

镜像压缩与打包

docker save d227774c2960 |gzip>docker_file.tgz
# ls
docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm 
docker_file.tgz 
docker.txt
Dockerfile
docker_shell.sh

镜像导入

# 把docker里原有docker_image镜像删除,导入压缩打包后的镜像
docker rmi d227774c2960
docker images|grep docker_image
docker load < docker_file.tgz 
docker tag  d227774c296x docker_image:18.01.14.1702 
# 说明:d227774c296x是docker load < docker_file.tgz 加载镜像生成的ID号!

启动镜像

# 镜像名字是wtf_shiyan
docker run -itd --name=wtf_shiyan 34b5ef62c921
docker exec -it wtf_shiyan /bin/bash
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年03月22日   62   0   0 容器Docker
  TEZNKK3IfmPf   2023年11月15日   42   0   0 redisDocker
  TEZNKK3IfmPf   2024年04月26日   58   0   0 Docker
  TEZNKK3IfmPf   2023年11月15日   38   0   0 redisDocker
  TEZNKK3IfmPf   2023年11月15日   44   0   0 Docker
  TEZNKK3IfmPf   2024年03月29日   100   0   0 Docker
TEZNKK3IfmPf