以下为linux环境 1.安装docker
yum install docker-ce检查是否安装成功
docker --version2.下载示例demo 安装成功下载官方示例node-bulletin-board,这个示例demo我们后续要打包推送到dockerhub仓库
有git
git clone https://github.com/dockersamples/node-bulletin-board cd node-bulletin-board/bulletin-board-app如果没有装git
curl -LO https://github.com/dockersamples/node-bulletin-board/archive/master.zip unzip master.zip cd node-bulletin-board-master/bulletin-board-app3.运行并打包demo镜像 示例demo下载好后可以看看Dockfile文件,docker打包就是基于这个文件. 在运行demo之前我们需要构建镜像,如果成功,则构建过程应以message结束Successfully tagged bulletinboard:1.0。
docker build --tag bulletinboard:1.0 .构建成功下面启动镜像
docker run --publish 8000:8080 --detach --name bb bulletinboard:1.0这里有几个常见的标志:
–publish要求Docker将主机端口8000上传入的流量转发到容器的端口8080。容器具有自己的专用端口集,因此,如果要从网络访问某个端口,则必须以这种方式将流量转发到该端口。否则,作为默认的安全状态,防火墙规则将阻止所有网络流量到达您的容器。 –detach 要求Docker在后台运行此容器。 –name指定一个名称,在后续命令中,您可以使用该名称来引用您的容器bb。
浏览器访问: 你的ip:8000 如果可以看到下面的东东说明镜像启动成功 注意:如果用阿里云的服务器,你需要开放8000端口,不然无法访问 4.推送demo镜像到dockerhub 现在本地有了镜像那怎么让别人也可以用我们打包的镜像呢,docker hub就是专门帮我们管理镜像的,登录docker hub 创建Repositories 名字就叫bulletinboard,其它不用管点击create 现在就可以在docker hub上共享镜像了 打包
docker tag bulletinboard:1.0 你的dockerhub账号/bulletinboard:1.0推送
docker push 你的dockerhub账号/bulletinboard:1.0不出意外的话就可以在bulletinboard仓库里看到了 如果遇到:
denied: requested access to the resource is denied
这个是提示要你登录
docker login输入dockerhub账号密码在push即可