CentOS学习笔记 - 8. docker 编译基于gofabric8的java应用镜像

编译docker镜像

1.加速docker镜像下载速度

取决于网络速度,如果不慢的话,可以先不装

https://www.daocloud.io/mirror#accelerator-doc

执行下面的命令配置加速器
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://4f7a7e6e.m.daocloud.io

[注]

使用了加速器这个脚本以后,发现第二天重启电脑后,docker引擎无法启动。
unable to configure the Docker daemon with file /etc/docker/daemon.json: invalid character '}'
我们可以看到多了一个,号
cat /etc/docker/daemon.json
{"registry-mirrors": ["http://4f7a7e6e.m.daocloud.io"],}
打开文件,去掉那个多余的,号即可
{"registry-mirrors": ["http://4f7a7e6e.m.daocloud.io"]}
重新启动docker引擎
systemctl start docker

2.下载springboot基础web工程

打开https://start.spring.io/,下载一个最基础带web的工程
加入helloworld

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@SpringBootApplication
public class HelloApplication {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) {
        SpringApplication.run(HelloApplication.class, args);
    }
}

配置application.yml

server:
  port: 8001

maven编译打包,重命名为hello.jar

3. 编写Dockerfile

FROM docker.io/fabric8/java-alpine-openjdk8-jdk
ENV AB_OFF true

EXPOSE 8001

COPY hello.jar /opt/
CMD java -jar /opt/hello.jar
FROM表示基础镜像是哪一个,我们这里使用fabric8提供的java基础镜像
EVN AB_OFF 是这个镜像中提供的环境变量,可以在docker hub里面查看含义
EXPOSE 8001 表示开放8001这个端口
COPY命令表示拷贝hello.jar这个文件到/opt/目录下
CMD表示启动以后执行这条命令,一般一个docker就放一个应用,然后可以把这些应用通过link命令连接起来。
所以这里一般就是执行启动我们应用的那条命令。

4. 编译Dockerfile

docker build  -t "camus/java" .

运行编译好的镜像

docker run -d -p8001:8001 camus/java

5. 打开浏览器进行测试

http://127.0.0.1:8001/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值