docker镜像制作

创建一个安装好apache工具的容器镜像

docker run -it docker.io/centos:latest /bin/bash

在container中安装apache软件包

yum install httpd

查看镜像(当前只有一个)

docker images

创建一个安装好apache工具的容器镜像

docker commit container_id  创建后的镜像名称:标签
docker commit 456ac4e1d8ef docker.io/centos:httpd

现在查看就会发现多了一个image

docker images

使用新创建的docker.io/centos:httpd镜像生成一台容器实例

docker run -it docker.io/centos:httpd /bin/bash

然后我们在container中查看是否已经安装了apache

rpm -qa httpd

ok

方法二

  • 通过docker build创建一个基于centos的httpd web服务器镜像
  • 使用docker build创建镜像时,需要使用Dockerfile文件自动化制作image镜像

创建工作目录

mkdir /docker-build
cd /docker-build
touch Dockerfile

编辑Dockerfile

vim Dockerfile

添加一下内容

FROM docker.io/centos:latest
MAINTAINER <sss@localhost>
RUN yum -y install httpd
ADD start.sh /usr/local/bin/start.sh
ADD index.html /var/www/html/index.html

解释

FROM ---- 基于哪个镜像
MAINTAINER ---- 镜像创建者
RUN ---- 安装软件用
ADD ---- 将文件拷贝到新生成的镜像的文件系统对应的目录,所有拷贝到新镜像中的文件和文件夹的权限为0755,uid和gid为0
cmd ---- container启动时执行的命令或启动服务,只能有一条此命令,多条只执行最后一条cmd

创建start.sh脚本启动httpd服务和apache默认首页index.html文件

echo '/usr/sbin/httpd-DFOREGROUND'>start.sh
chmod a+x start.sh
echo 'docker image build test' > index.html

/usr/sbin/httpd-DFOREGROUND 相当于systemctl start httpd

在这里插入图片描述
使用命令来创建新的image

docker build -t docker.io/centos:httpd2 ./

./表示当前目录, 当前目录下要包含Dockerfile

镜像操作

导出镜像

  • Save Image To TarBall
  • 保存Image到tar包

语法

docker save -o   导出的镜像名.tar   本地镜像名:镜像标签

docker save -o docker.io/centos:httpd2.tar docker.io/centos:httpd2

删除镜像

docker rmi docker.io/centos:httpd2

导入镜像

docker load -i docker.io/centos:httpd2.tar
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值