# 基于 busybox + httpd 制作镜像

# step1、下载 busybox 镜像

docker pull busybox

# step2、使用该镜像启动容器,进入交互模式

docker run --name busybox-1 -it busybox 

# step3、容器 http 配置

# mkdir -p /data/html
# vi /data/html/index.html
===========================================================
<html>
  <body>
        <p>zhixing-busybox-httpd</p>
  </body>
</html>
===========================================================

# step4-way-1、镜像生成,并打上标签,默认 CMD 为 sh

打开另一个连接控制台进行操作

该生成方式缺陷:要启动 httpd 命令,需要进入到容器中,手动开启

## 生成镜像
$ sudo docker commit -p busybox-1
sha256:275e7720f1e7c682b966bb4dc70940bb65e3199d44f1d3d1fa182ba0a28a50c7

## 查看本地镜像
$ sudo docker image ls
REPOSITORY   TAG      IMAGE         ID   CREATED         SIZE
<none>      <none>   275e7720f1e7   48   seconds ago      1.2MB

## 打标签
$  sudo docker tag 275e7720f1e7  zhixing/httpd:v0.1
$  sudo docker  tag zhixing/httpd:v0.1 zhixing/httpd:latest

# step4-way-2、镜像生成,并打上标签,修改 CMD 为 http 启动命令

## 生成镜像,同时设定 CMD 启动命令,同时打标签
sudo docker commit -p -a "zhixing <892713852@qq.com>" -c 'CMD ["/bin/httpd","-f","-h","/data/html"]' busybox-1 zhixing/httpd:v1.0

# step5、校验 step4-way-2生成的镜像

# 启动容器

## 启动容器
sudo docker run --name busybox-http zhixing/httpd:v1.0

# 查看容器信息获取 IP

sudo docker inspect busybox-http

# 访问ip获取信息

## 测试 (成功返回 step1 中设置 html 信息)
curl 172.17.0.2

# step6-way-1:将镜像推送到 阿里云上

# A、推送镜像到阿里云

阿里云镜像仓库

登录阿里云,并讲镜像加速地址追加到 /etc/docker/daemon.json 中

创建 阿里云镜像仓库(控制台搜索关键词:镜像服务)

根据 阿里云镜像仓库公网地址重新生成镜像

docker commit -p -a "qguofeng <892713852@qq.com>" -c 'CMD ["/bin/httpd","-f","-h","/data/html"]' busybox-1 registry.cn-hangzhou.aliyuncs.com/qguofeng/http:v3.0

registry.cn-hangzhou.aliyuncs.com/qguofeng/http:v3.0 分为三部分:

a、 registry.cn-hangzhou.aliyuncs.com ,改地址从如下图获取

b、qguofeng 对应命名空间,如果空间不存在推送时会失败

c、http:v3.0 将会对应命名空间下的 http 仓库 如下图

登录

## 登录
$  sudo docker login --username=USERNAME registry.cn-hangzhou.aliyuncs.com
Login Succeeded

登录信息从如下图位置中获取

进行推送

## 进行推送
sudo docker push ALIYUN_URL/zhixing/http

退出登录

## 退出登录
sudo docker logout

# B、从阿里云拉取镜像

# step6-way-2:镜像进行本地迁移(镜像导出和导入)

## 镜像导出
sudo docker save -o zhixing-http.gz zhixing/httpd:v1.0 zhixing/httpd:v0.1

## 镜像导入
sudo docker load -i zhixing-http.gz
精彩内容推送,请关注公众号!
最近更新时间: 4/11/2020, 4:08:27 PM