1.编写Dockerfile
进入项目目录:
cd /var/apps/my-app
编写Dockerfile
vim Dockerfile
Dockerfile文件内容
# 基镜像java8
FROM java:8
# 作者
MAINTAINER jeikerxiao
# 添加my-app-0.0.1.jar 到容器镜像中,并重命名 app.jar
ADD my-app-0.0.1.jar app.jar
# 运行容器,监听8080端口
EXPOSE 8080
# 启动时运行 java -jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
2.编译镜像
build当前目录下的Dockerfile 文件,命名为wisely/my-app。
➜ docker build -t wisely/my-app .
构建过程 :
Sending build context to Docker daemon 28.88MB
Step 1/5 : FROM java:8
8: Pulling from library/java
5040bd298390: Pull complete
fce5728aad85: Pull complete
76610ec20bf5: Pull complete
60170fec2151: Pull complete
e98f73de8f0d: Pull complete
11f7af24ed9c: Pull complete
49e2d6393f32: Pull complete
bb9cdec9c7f3: Pull complete
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Downloaded newer image for java:8
---> d23bdf5b1b1b
Step 2/5 : MAINTAINER jeikerxiao
---> Running in beda82b0d593
---> cc1e343348b6
Removing intermediate container beda82b0d593
Step 3/5 : ADD my-app-0.0.1.jar app.jar
---> 603da4e8c0f0
Removing intermediate container 7f72c9eb16a8
Step 4/5 : EXPOSE 8080
---> Running in 1fdd169fe9cc
---> 410b920c0879
Removing intermediate container 1fdd169fe9cc
Step 5/5 : ENTRYPOINT java -jar /app.jar
---> Running in 7f4405748fbf
---> f6a29955727e
Removing intermediate container 7f4405748fbf
Successfully built f6a29955727e
Successfully tagged wisely/my-app:latest
3.查看镜像
➜ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wisely/my-app latest f6a29955727e 4 minutes ago 672MB
java 8 d23bdf5b1b1b 5 months ago 643MB
hello-world latest 48b5124b2768 5 months ago 1.84kB
4.运行镜像
运行命令,–name 重命名:-p 端口暴露 当前服务器端口:容器端口 镜像名。
➜ docker run -d --name my-app -p 8088:8080 wisely/my-app
cb9022fd451eb05eba014ce6fb79144f6b50309742cf2bdbe1de638cdef351bf
5.查看容器状态
➜ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cb9022fd451e wisely/my-app "java -jar /app.jar" 12 seconds ago Up 10 seconds 0.0.0.0:8088->8080/tcp my-app
6.测试项目
http://192.168.191.32:8080/