编写Dockerfile文件,构建自己的centos镜像

#自定义mycentos目的使我们自己的镜像具备如下功能:
1.登录后的默认路径
2.可以使用vim 编辑器
3.能够使用查看网络配置的ifconfig命令
#编写
[[email protected] ~]# cd /mydocker
[[email protected] mydocker]# ll
total 4
-rw-r--r-- 1 root root 137 Jan 12 15:37 Dockerfile
[[email protected] mydocker]# vim Dockerfile2

FROM centos
MAINTAINER zzyy<[email protected]>

ENV MYPATH /tmp
WORKDIR $MYPATH

RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80

CMD echo $MYPATH
CMD echo "success---------ok"
CMD /bin/bash

构建 . 表示当前路径
docker buile -t 新镜像名字:TAG .

[[email protected] mydocker]# docker build -f /mydocker/Dockerfile2 -t mycentos:1.2 .
Sending build context to Docker daemon 3.072 kB
Sending build context to Docker daemon
Step 0 : FROM centos
---> ab9a80ab07d0
Step 1 : MAINTAINER zzyy<[email protected]>
---> Using cache
---> 24c272f9f06a
Step 2 : ENV MYPATH /tmp
---> Using cache
---> 9be1b8d910a7
Step 3 : RUN yum -y install vim
---> Running in 30737acef213
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors

[[email protected] mydocker]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
mycentos 1.2 0bfae97b4d8d 8 minutes ago 351.7 MB
alvin/centos latest d7609a14297c 5 days ago 201.8 MB
atguigu/mytomcat 1.1 4a262f07577c 6 days ago 462.5 MB
centos latest ab9a80ab07d0 6 weeks ago 201.8 MB

[[email protected] mydocker]# docker run -it mycentos:1.2
[[email protected] tmp]# pwd
/tmp
[[email protected] tmp]#
[[email protected] tmp]# vim aa.txt
[[email protected] tmp]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.8 netmask 255.255.0.0 broadcast 0.0.0.0
inet6 fe80::42:acff:fe11:8 prefixlen 64 scopeid 0x20<link>
ether 02:42:ac:11:00:08 txqueuelen 0 (Ethernet)
RX packets 6 bytes 468 (468.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7 bytes 558 (558.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[[email protected] mydocker]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
mycentos 1.2 050490e6d28e 5 minutes ago 351.7 MB
alvin/centos latest d7609a14297c 5 days ago 201.8 MB
atguigu/mytomcat 1.1 4a262f07577c 6 days ago 462.5 MB
centos latest ab9a80ab07d0 6 weeks ago 201.8 MB

#查看镜像变更历史
[[email protected] mydocker]# docker history 050490e6d28e
IMAGE CREATED CREATED BY SIZE COMMENT
050490e6d28e 5 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "/bin/b 0 B
74036fef1a9b 5 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "echo \ 0 B
1f5252525eaf 5 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "echo $ 0 B
9613661e3069 5 minutes ago /bin/sh -c #(nop) EXPOSE 80/tcp 0 B
fd58c78420e1 5 minutes ago /bin/sh -c yum -y install net-tools 24.17 MB
55357dd693fc 5 minutes ago /bin/sh -c yum -y install vim 125.8 MB
51d9229a4b68 6 minutes ago /bin/sh -c #(nop) WORKDIR /tmp 0 B
8f300b39e4c1 6 minutes ago /bin/sh -c #(nop) ENV MYPATH=/tmp 0 B
c2e8c62e088a 6 minutes ago /bin/sh -c #(nop) MAINTAINER zzyy<[email protected] 0 B
ab9a80ab07d0 6 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B
f016d310caa9 6 weeks ago /bin/sh -c #(nop) LABEL org.label-schema.sch 0 B
e4b082fc6cdb 6 weeks ago /bin/sh -c #(nop) ADD file:6f877549795f4798a3 201.8 MB
[[email protected] mydocker]#

原文地址:https://www.cnblogs.com/ahtornado/p/10300019.html

时间: 2024-10-19 03:31:11

编写Dockerfile文件,构建自己的centos镜像的相关文章

[Linux] 编写Dockerfile文件自动构建镜像

Dockerfile是一个文本文件,按顺序包含构建给定镜像所需的所有命令Docker通过读取Dockerfile中的指令自动构建图像 . Dockerfile遵循特定的格式和指令集,您可以在Dockerfile引用中找到它们. Docker镜像由只读层组成,每个层都代表一个Dockerfile指令.这些层是堆叠的,每个层都是前一层变化的增量 在Ubunu镜像的基础上,安装nginx,并且拷贝本地文件到镜像,创建一个Dockerfile文件到目录下,并且建一个1.txt的文件 # 基础镜像 FRO

使用Dockerfile创建带tomcat的Centos Docker镜像

(1)准备工作:  创建tomcat7.0_jdk1.6文件夹,从www.oracle.com上下载sun_jdk 1.6压缩包,解压为jdk目录.  创建Dockerfile和run.sh文件[[email protected] ~]# mkdir tomcat7.0_jdk1.6[[email protected] ~]# cd tomcat7.0_jdk1.6/[[email protected] tomcat7.0_jdk1.6]# touch Dockerfile run.sh[[em

docker Dockerfile文件的编写部分命令

镜像的构建过程:编写dockerfile文件,执行docker build 进行构建镜像,最后docker run 运行容器镜像实例. docker build -t mycentos:1.01 . 构建镜像,最终的名字为mycentos,docker build -f /root/firstdockerfile/Dockerfile2 -t cmdtest . -f参数需要加绝对路径,当当前没有dockerfile文件时需要使用这个参数. docker run -it mycentos:1.0

Dockerfile介绍、Docker制作jdk镜像

Dockerfile介绍.Docker制作jdk镜像 目标 1.Dockerfile简介 2.Docker制作jdk镜像 Dockerfile简介 dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像, 另外,使用Dockerfile去构建镜像好比使用pom去构建maven项目一样,有异曲同工之妙 dockerfile基本结构 Dockerfile 由一行行命令语句组成, 并且支持以#开头的注释行,一般而言, Dockerfile 主体内容

利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像

Dockerfile内容如下: FROM centos MAINTAINER Victor [email protected] WORKDIR /root RUN rm -f /etc/yum.repos.d/* RUN echo '[BASE]' > /etc/yum.repos.d/base.repo RUN echo 'name=base' >> /etc/yum.repos.d/base.repo RUN echo 'baseurl=http://192.168.244.132/

利用Dockerfile构建一个基于CentOS 7镜像

利用Dockerfile构建一个基于CentOS 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像. Dockerfile内容如下: FROM centosMAINTAINER Victor [email protected]WORKDIR /rootRUN rm -f /etc/yum.repos.d/*RUN  echo '[BASE]' > /etc/yum.repos.d/base.repoRUN  echo 'name=base' >> /etc

Docker定制容器镜像(利用Dockerfile文件)

1.创建Dockerfile文件 新建一个目录,在里面新建一个dockerfile文件(新建一个的目录,主要是为了和以防和其它dockerfile混乱 ) [[email protected] myfiles]# mkdir centos6.8_dockerfile [[email protected] myfiles]# [[email protected] myfiles]# cd centos6.8_dockerfile/ 创建dockerfile文件(vim Dockerfile) #

利用Dockerfile文件创建带有sshd服务的centos镜像

1.安装docker并启动docker,不在赘述 2.创建使用Dockerfile安装sshd服务的目录,名字路径自定义 mkdir sshd_centos cd sshd_centos 3.编辑启动sshd服务的脚本文件 vim run.sh内容为 #!/bin/bash /usr/sbin/sshd -D 4.生成宿主机和docker容器通讯的密钥 ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key 此时进入/etc/ssh/目录下可

【系列6】使用Dockerfile创建带LAMP的Centos Docker镜像

LAMP值的Linux (操作系统).ApacheHTTP服务器.MySQL(有时也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python)的组合方案,一般很适合用来建立Web服务器环境.  ① 下载LAMP镜像:   下面介绍如何使用Docker来搭建一个包含LAMP组件的容器.[[email protected] ~]# docker search -s 10 lampFlag --stars has been deprecated, use --filter=stars=