基于 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
b、
