1 安裝Compose
從 Github 上下載它的二進(jìn)制包來使用
最新發(fā)行的版本地址:https://github.com/docker/compose/releases
# 下載
[root@localhost compose]# curl -L https://github.com/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 617 0 617 0 0 896 0 --:--:-- --:--:-- --:--:-- 896
100 16.2M 100 16.2M 0 0 1735k 0 0:00:09 0:00:09 --:--:-- 2366k
# 可執(zhí)行權(quán)限
[root@localhost compose]# chmod +x /usr/local/bin/docker-compose
# 查看安裝是否成功
[root@localhost compose]# docker-compose -v
docker-compose version 1.25.1, build a82fef07
2 使用
將jar包上傳到該目錄下
[root@localhost compose]# vi Dockerfile
FROM openjdk:8
MAINTAINER gp6 <gp6@test.com>
# VOLUME 指定了臨時(shí)文件目錄為/tmp。
# 其效果是在主機(jī) /var/lib/docker 目錄下創(chuàng)建了一個(gè)臨時(shí)文件,并鏈接到容器的/tmp
VOLUME /tmp
# 將jar包添加到容器中并更名為docker-boot.jar
ADD SpringBoot-1.0-SNAPSHOT.jar docker-boot.jar
# 運(yùn)行jar包
RUN bash -c 'touch /docker-boot.jar'
EXPOSE 8081
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/docker-boot.jar"]
# 在 jar 包所在路徑創(chuàng)建文件 docker-compose.yml
[root@localhost compose]# vi docker-compose.yml
# 表示該 Docker-Compose 文件使用的是 Version 3 file
version: '3'
services:
# 指定服務(wù)名稱
docker-compose-test:
# 指定 Dockerfile 所在路徑
build: .
# 指定端口映射
ports:
- "9000:8080"
# 啟動(dòng)并運(yùn)行容器
[root@localhost compose]# docker-compose up -d
Creating network "compose_default" with the default driver
Building docker-demo
Step 1/7 : FROM openjdk:8
---> f8146facf376
......
docker-demo_1 | 2020-01-09 02:29:28.430 INFO 1 --- [ main] com.gp6.HelloApplication : Started HelloApplication in 6.277 seconds (JVM running for 7.637)
# 查看容器
[root@localhost compose]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f091b46f3f85 compose_docker-compose-test "java -Djava.securit…" 23 seconds ago Up 21 seconds 8081/tcp, 0.0.0.0:9000->8080/tcp compose_docker-compose-test_1
# 測(cè)試
[root@localhost compose]# curl 127.0.0.1:9000/hello
hello world!
# 列出所有運(yùn)行容器
[root@localhost compose]# docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------------------------
compose_docker-compose-test_1 java -Djava.security.egd=f ... Up 0.0.0.0:9000->8080/tcp, 8081/tcp
# 查看服務(wù)日志輸出
[root@localhost compose]# docker-compose logs
Attaching to compose_docker-compose-test_1
docker-demo_1 |
docker-demo_1 | . ____ _ __ _ _
docker-demo_1 | /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
docker-demo_1 | ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
docker-demo_1 | \\/ ___)| |_)| | | | | || (_| | ) ) ) )
docker-demo_1 | ' |____| .__|_| |_|_| |_\__, | / / / /
docker-demo_1 | =========|_|==============|___/=/_/_/_/
......
docker-demo_1 | 2020-01-09 02:34:09.979 INFO 1 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 50 ms
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。