众所周知,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);
}
}
①,打包

②,上传
将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
结构如下图

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

通过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

常用命令:
删除容器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删除所有容器
网友评论