Docker掛載jar包執行指令碼
阿新 • • 發佈:2020-08-05
下載映象
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