Docker

Docker发布应用(2)

2018-05-04  本文已影响172人  ROCK_杰哥

众所周知,docker可以将应用自动部署到容器,这就看看一个例子,我们自己的应用怎么部署到容器中,基于上次docker入门,docker已经安装完成,我写了一个很简单的spring boot的Demo,代码如下:代码在 https://github.com/11078334334/docker.git

package com.songlj;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class DockerApplication {
    @RequestMapping("/")
    public String home() {
        return "Hello Docker!!看到这句话没有?";
    }
    public static void main(String[] args) {
        SpringApplication.run(DockerApplication.class, args);
    }
}


①,打包


image.png

②,上传
将jar包放到服务器上,并且将Dockerfile文件和jar放到一级,Dockerfile内容

FROM java:8

MAINTAINER songlj

ADD docker-0.0.1-SNAPSHOT.jar app.jar

EXPOSE 8088

ENTRYPOINT ["java","-jar","/app.jar"]

解释:1,基础镜像java 版本是8
2,作者songlj
3,重命名位app.jar
4,监听8088
5,启动运行 java -jar app.jar
结构如下图


image.png

③,编译镜像
docker build -t songlj/docker .
其中songlj/docker为镜像名,注意最后的.是指明Dockerfile就在当前路径下
成功如图


image.png

通过docker images查看一下镜像

[root@my10 dockertest]# docker images
REPOSITORY                              TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
songlj/docker                           latest              d285e92231ae        2 minutes ago       656.2 MB

④,运行

[root@my10 dockertest]# docker run -d --name docker -p 8088:8088 songlj/docker
705401d3ae29cdd7ad1cc9f82621399b8af66bc7d6eb867fe428c32eb3896113
image.png

常用命令:

删除容器id

docker rm 容器id

删除镜像 镜像id

docker rmi image-id

查看容器日志

docker logs container-name /container-id

导入导出容器

docker export CONTAINER(容器) > 地址文件名
[root@my10 songlj]# docker save d11c3799fa6a > /home/songlj/java8.tar
docker import - 地址文件名
docker import - /home/songlj/java8.tar

保存/加载

docker save IMAGE(镜像) > 地址文件名
docker save 9610cfc68e8d > /home/songlj/java8.tar
docker load < 地址文件名
docker load < /home/songlj/java8.tar

停止容器

$ docker ps // 查看所有正在运行容器
$ docker stop containerId // containerId 是容器的ID

$ docker ps -a // 查看所有容器
$ docker ps -a -q // 查看所有容器ID

$ docker stop $(docker ps -a -q) // stop停止所有容器
$ docker rm $(docker ps -a -q) // remove删除所有容器

上一篇下一篇

猜你喜欢

热点阅读