系统是CentOS7
安装Docker
参考阿里云的官方教程:https://help.aliyun.com/document_detail/60742.html
镜像加速器参考阿里云的官方教程:
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
下载java8
docker pull java:8
更改application.properties的hostname为宿主机地址并打包
(宿主机ip就是你docker安装在哪台的主机的ip)
上传打包好的jar包到(例:weather-eureka-server-0.0.1-SNAPSHOT.jar)
/app/weather目录下(使用Xshell的文件传输)
编辑Dockerfile文件使用命令
vi Dockerfile
# 基于哪个镜像
FROM java:8
# 拷贝文件到容器,前面是jar包的名字,后面的是容器名
ADD weather-eureka-server-0.0.1-SNAPSHOT.jar app.jar
#端口号
EXPOSE 8761
# 配置容器启动后执行的命令
ENTRYPOINT ["java","-jar","/app.jar"]
构建镜像( . 表示当前路径)
docker build -t eureka-server:0.0.1 .
启动eureka-server
docker run -d -p 8761:8761 eureka-server:0.0.1
浏览器访问 http://121.40.231.9:8761
Tips:
查看运行的容器
docker ps
停止容器
docker stop 容器id
关闭所有的容器命令
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
删除所有的容器命令
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
后面的几个jar包类似:
打包前注意更改配置文件中的主机地址,注意更改Dockerfile的jar包名和端口号
分别建几个文件夹:city,zuul,collection,data,report
端口号依次改成了8762,8763,8764,8765,8766
列出镜像(删除本地镜像 docker rmi 镜像id)
docker images
然而启动后,无法访问。。。
docker里的容器之间需要关联才能进行互相访问