下載鏡像
docker pull openjdk:8
執行命令
docker run -d -p 9001:8081 -v /opt/springboot-docker-1.0.jar:/var/lib/docker/jar/springboot-docker-1.0.jar --name ecs-console java:8u111 java -jar /var/lib/docker/jar/springboot-docker-1.0.jar
# -d 表示在后台啟動
# -p 8081:8080 表示將容器的端口 映射成宿主主機的端口,否則8080端口訪問不到
# -v /opt/springboot-docker-1.0.jar:/var/lib/docker/jar/springboot-docker-1.0.jar
# 表示將宿主主機的jar文件,映射到容器中(分號前為宿主主機的路徑就是服務器的路徑,分號后為容器中的路徑)
# --name ecs-console
# 表示為該容器取一個全局唯一的名稱,這里我取的名稱為ecs-console
# java:8u111 表示鏡像文件的名稱和tag
# java -jar /var/lib/docker/jar/springboot-docker-1.0.jar
# 表示運行jar包,注意:這里的jar包為容器中的位置,是通過前面的-v屬性映射的
完整的腳本
#!/usr/bin/env bash
docker pull openjdk:8
#判斷容器是否存在
docker ps -a | grep ecs-console &> /dev/null
if [ $? -ne 0 ]; then
docker run -d -p 9001:8081 -v /home/docker/ecs/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /home/docker/ecs/console/ecs-console.jar:/ecs-console.jar --name ecs-console openjdk:8 java -Xmx1024m -Xms1024m -XX:MaxMetaspaceSize=256M -XX:MetaspaceSize=256M -Dfile.encoding=utf-8 -jar /ecs-console.jar
else
docker restart ecs-console
fi