項目背景:springboot + dubbo項目
Linux: CentOS 和 Ubuntu通用(已測試)
1鳖谈、配置項目需要的基礎(chǔ)鏡像:jdk畏妖、zookeeper热芹、redis
docker pull openjdk:8-jre
docker pull zookeeper
docker pull redis
2梯投、編寫Dockerfile文件,注意copy后的路徑問題
FROM openjdk:8-jre #運行環(huán)境
MAINTAINER xxx xxx@imooc.com #包名 com.imooc.xxx.xxx
COPY user-service.jar /user-service.jar # user-service.jar #springboot項目打包好的jar包名
ENTRYPOINT ["java","-jar","/user-service.jar"]
注意copy的路徑是jar相對Dockerfile的嫂冻;路徑,保證Dockerfile能通過該路徑找到j(luò)ar塞椎,我這里是放在同一目錄下桨仿,所以直接寫jar名
完成將jar和Dockerfile傳輸?shù)絃inux里(dubbo項目注意先修改提供者和消費者的ip路徑)
3、在Dockerfile所在的目錄下執(zhí)行build命令
docker build -t user-service:lastest .
(.表示用當前路徑下的Dockerfile案狠,前面必須有一個空格)
Build成功后可以通過 docker images查看已有鏡像及其id
4服傍、Run
冒號前面是REPOSITORY,冒號后面可以是TAG,也可以是IMAGE ID
docker run -p 6379:6379 redis:latest
Docker run -p 2181:2181 zookeeper:latest
docker run -p 7911:7911 user-service:latest
docker run -p 8082:8082 user-client:latest
-p表示指定運行端口骂铁,第一個端口表示對外暴露的端口吹零,第二個端口表示當前虛機運行的端口,外部訪問時訪問第一個端口
其他常用的docker命令:
炒硬看正在運行的容器:docker ps
停止運行容器:docker stop + CONTAINER ID
刪除鏡像:docker rmi + IMAGE ID
刪除鏡像時如遇到該鏡像正被已停止運行的容器使用瘪校,則使用docker rm + CONTAINER ID
先刪除容器(鏡像在容器中運行時需要先停止運行)