Docker - 创建并运行一个docker(springboot)容器

1、首先,你要有一个docker环境:

# docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-75.git8633870.el7_5.x86_64
 Go version:      go1.9.2
 Git commit:      8633870/1.13.1
 Built:           Wed Sep 12 10:56:54 2018
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-75.git8633870.el7_5.x86_64
 Go version:      go1.9.2
 Git commit:      8633870/1.13.1
 Built:           Wed Sep 12 10:56:54 2018
 OS/Arch:         linux/amd64
 Experimental:    false

2、使用spring-boot简单写一个http接口(供测试),并打成一个常规的jar,待用;

demo-0.0.1-SNAPSHOT.jar(配置文件放在项目内部resources/下)

3、编写Dockerfile文件,如下:

# Docker image for springboot file run
# VERSION 0.0.1
# Author: Springboot Docker
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER Springboot Docker
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp 
# 将jar包添加到容器中并更名为app.jar
ADD demo-0.0.1-SNAPSHOT.jar app.jar 
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

4、将demo-0.0.1-SNAPSHOT.jar和Docker放在同一个文件夹下;

5、docker build -t http-server:v1.0.1 .    #创建镜像到本地(注意最后面的 . 代表当前目录的Dockerfile文件)

6、docker run -d -p 12001:12000 --name httpserver http-server:v1.0.1             #启动容器  &使用 --name 标记可以为容器自定义命名     注:容器之间默认都是可以相互连接的

7、docker ps |grep httpserver    #查看已经启动的httpserver容器

81b3096b96c8        http-server:v1.0.1                                              "java -Djava.secur..."   2 days ago          Up 2 days           0.0.0.0:12001->12000/tcp                                                 http

8、docker exec -t -i ID /bin/bash   #进入容器

9、docker logs -f ID      #查看容器的实时日志

10、docker stop ID      #停止容器(start/kill/stop/restart)

11、docker rm ID         #删除容器

12、docker rmi ID        #删除镜像

13、docker images      #查看所有的本地镜像

posted @ 2022-01-27 18:36  zhangdaopin  阅读(458)  评论(0编辑  收藏  举报