Docker构建镜像并上传Docker Hub
使用DaoCloud加速下载docker镜像
- 注册DaoCloud注册
- 在更多->加速器中使用命令,会自动帮你创建/etc/docker/daemon.json文件
-
重启docker服务
sudo service docker restart
-
踩坑:如果在centos7中docker服务重启失败,建议打开/etc/docker/daemon.json文件,修改为如下形式
{ "registry-mirrors": [ "加速地址" ], "insecure-registries": [] }
- 此方法使用于Docker 版本在 1.12 或更高
构建镜像
两种方法:commit,build Dockerfile
准备工作
- 注册Docker Hub注册
-
登录
sudo docker login
方法一:docker commit
-
启动容器
sudo docker run -it -p 80 --name commit_test ubuntu bash
-
安装必要工具
apt-get update apt-get install -y nginx
-
docker commit
sudo docker commit -a 'awebone' -m 'ubuntu_nginx' commit_test docker.io/awebone/ubuntu_nginx
-
docker 本地测试
sudo docker run -d --name nginx_web1 -p 32769:80 docker.io/awebone/ubuntu_nginx nginx -g "daemon off;" sudo docker ps -a curl http://127.0.0.1:32769
出现?这个说明成功了?
-
docker push
sudo docker push awebone/ubuntu_nginx
方法二:build Dockerfile
-
本地创建文件
mkdir -p dockerfile/df_test cd dockerfile/df_test/ vim Dockerfile
-
编辑Dockerfile文件
# First dockerfile for test FROM ubuntu:14.04 MAINTAINER awebone "610958401@qq.com" RUN apt-get update RUN apt-get install -y nginx COPY index.html /usr/share/nginx/html/ EXPOSE 80 ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"]
-
构建
sudo docker build -t='awebone/df_test' .
每步都会产生一个id,是中间层镜像,注意命令最后一个点是指对当前文件夹
-
docker 本地测试
sudo docker run -d --name nginx_web2 -p 32770:80 docker.io/awebone/df_test nginx -g "daemon off;" sudo docker ps -a curl http://127.0.0.1:32770
-
docker push
sudo docker push awebone/df_test
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。