docker build和docker push入门

一、创建一个可执行文件

  • 使用springboot生成一个可执行jar
@Controller
@RequestMapping("/docker")
public class MyController {

    //访问当前连接能够展示yes
    @GetMapping("/show")
    @ResponseBody
    public String show(){
        return  "yes";
    }
}

然后maven install,得到可执行jar文件demo-0.0.1-SNAPSHOT.jar

  • 将当前文件传到linux系统目录:/temp/demo下

二、创建Dockerfile

  • 如下,已经传到当前目录

在这里插入图片描述
然后编辑

#当前目录下创建一个Dockerfile文件
vi Dockerfile

FROM 代表docker运行要 jdk8
ADD 代表将当前主机文件拷贝至容器内
CMD 代表最后容器执行什么命令

#####Dockerfile文件内容,不包括当前这一行注释########
FROM openjdk:8      
ADD demo-0.0.1-SNAPSHOT.jar app.jar
CMD java -jar app.jar
  • 运行docker build命令
#docker build代表构建镜像
#-t 后面跟着   镜像/镜像名称:1
#demo 可以随便写  app 首字母要小写  1 为版本号   .  代表将当前目录都build进镜像内
docker build -t demo/app:1 .

在这里插入图片描述
然后使用docker images命令能看到自己构建的镜像

三、启动自己镜像

#启动镜像
[root@git ~]# docker run -d --name app -p 8080:8080 fdcc468314b7
fdeb9d69bc505c101ebcc57f5c9a9d7429fc5c4ceaa44332e70bdd4127bbea14

过几秒钟后,执行接口 发现成功了。

[root@git ~]# curl http://127.0.0.1:8080/docker/show
yes

然后删除容器,将容器push到服务器,再pull下来运行

#停止容器
[root@git demo]# docker stop app
app
#删除容器
[root@git demo]# docker rm app
app

四、新建阿里云docker镜像仓库

注册并登录阿里云,搜索“容器镜像服务”
点击下:
在这里插入图片描述
依次进入:镜像仓库–创建镜像仓库
创建命名空间和仓库名称,下一步
在这里插入图片描述
选择本地仓库:
在这里插入图片描述

#docker登录
$ sudo docker login --username=xxxx registry.cn-hangzhou.aliyuncs.com
#docker容器打标签
$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/xxxx/app:[镜像版本号]
#push到镜像仓库
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/xxxx/app:[镜像版本号]
#docker pull
$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/xxx/app:[镜像版本号]

镜像下载下来后,运行镜像,over!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐