Java为例
● SpringBoot打包成可执行jar
● 把jar包上传给服务
● 服务器运行java -jar
所有机器都安装Docker,任何应用都是镜像,所有机器都可以运行
1、首选将idea中的java项目打包,并编写Dockerfile文件
FROM openjdk:8-jdk-slim LABEL maintainer=zhansan COPY java-demo-0.0.1-SNAPSHOT.jar /app.jar ENTRYPOINT ["java","-jar","/app.jar"]
2、将上述jar和Dockerfile文件上传到服务器
3、使用命令将代码打包成镜像
# java-demo:v1.0 指的是打包后的镜像名及版本 docker build -t java-demo:v1.0 .
4、查看镜像是否打包成功
5、启动容器
docker run -d -p 8080:8080 java-demo:v1.0
6、查看容器是否启动成功
docker ps
7、查看容器日志
# -f是实时查看的意思 docker logs -f 容器id2、将自己的镜像推送到镜像仓库
下边案例是将自己的镜像推送到docker hub中
1、首先登录docker hub
docker login
2、给旧镜像起名
docker tag java-demo:v1.0 zhangsan/java-demo:v1.0
4、推送到docker hub
docker push zhangsan/java-demo:v1.0
5、到docker hub查看是否推送成功
6、别的机器拉取刚刚推送到docker hub上的镜像
docker pull zhangsan/java-demo:v1.0
7、别的机器运行刚刚从docker hub上拉取的镜像
docker run -d -p 8080:8080 --name myjava-app zhangsan/java-demo:v1.0
8、在服务器上访问到另外一塔服务器部署的应用
部署一个Redis+应用,尝试应用操作Redis产生数据
- 创建容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] # redis使用自定义配置文件启动 # 将容器内Redis配置文件挂载到宿主机:-v /data/redis/redis.conf:/etc/redis/redis.conf # 将容器内Redis数据挂载到宿主机 /data/redis/data:/data docker run -v /myregister/redis/redis.conf:/etc/redis/redis.conf -v /myregister/redis/data:/data -d --name myredis -p 6379:6379 redis:latest redis-server /etc/redis/redis.conf
- 修改redis配置文件(在宿主机上修改)
设置redis可以记录数据、给redis设置密码
- 重启redis
docker restart redis