项目背景:springboot + dubbo项目
Linux: CentOS 和 Ubuntu通用(已测试)
1、配置项目需要的基础镜像:jdk、zookeeper、redis
docker pull openjdk:8-jre
docker pull zookeeper
docker pull redis
2、编写Dockerfile文件,注意copy后的路径问题
FROM openjdk:8-jre #运行环境
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能通过该路径找到jar,我这里是放在同一目录下,所以直接写jar名
完成将jar和Dockerfile传输到Linux里(dubbo项目注意先修改提供者和消费者的ip路径)
3、在Dockerfile所在的目录下执行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
先删除容器(镜像在容器中运行时需要先停止运行)
网友评论