栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

docker安装,打包,运行,推送

Java 更新时间:发布时间: 百科书网 趣学号
docker环境搭建
# 没有yum-config-manager命令的话
# yum -y install yum-utils

# 添加docker镜像地址
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装docker-ce , docker-cli  (指定版本docker-ce-20.10.8 docker-ce-cli-20.10.8 containerd.io)
sudo yum -y install docker-ce docker-ce-cli containerd.io   

# 启动docker
systemctl start docker

# 设置开机自启
systemctl enable docker

# 配置docker加速  (https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors)自行设置自己的
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://ub3d38gx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

# 测试检测docker版本
[root@zhaoxingyu code]# docker -v
Docker version 20.10.8, build 3967b7d
设置拉取镜像
# 拉取最新版redis
docker pull redis 

# 设置文件挂载目录的配置文件
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
# 设置数据redis数据持久化(开启AOF模式)
echo "appendonly yes"  >> /mydata/redis/conf/redis.conf

# 设置redis认证密码(不设置也行)
echo "requirepass zhao123456"  >> /mydata/redis/conf/redis.conf

# 启动redis (并设置redis.conf)
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data 
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf 
--restart=always 
-d redis redis-server /etc/redis/redis.conf
编写代码

创建普通spring boot项目 引入 web 和 redis 依赖

编写controller

配置文件修改

server.port=6500
# redis 密码
spring.redis.password=zhao123456 
# redis地址
spring.redis.host=101.132.248.90

启动项目测试index接口没有问题

打包构建启动

编写简单Dockerfile

FROM openjdk:8u302-jdk-slim # 设置在容器中的其他引用

LABEL maintainer=zhaoxingyu

COPY target/*.jar /app.jar

ENTRYPOINT ["java","-jar","/app.jar"]

使用mvn package打包工具

target文件夹和Docker文件拷贝到服务器中

在当前目录执行

# 构建Dockerfile文件
docker build -t java-demo:1.0 .

# 如果Dockerfile文件不在这个目录或者不是叫Dockerfile 可以通过-f /mydata/code/Dockerfile 指定位置

等待构建完成

[root@zhaoxingyu code]# docker build -t java-demo:1.0 .
Sending build context to Docker daemon  27.29MB
Step 1/4 : FROM openjdk:8u302-jdk-slim
8u302-jdk-slim: Pulling from library/openjdk
bd897bb914af: Pull complete 
0cc7fec72146: Pull complete 
4bdb783f109f: Pull complete 
4cee21827af0: Pull complete 
Digest: sha256:a954575c94c08ce01f273f1c69f93d1f213fce46381d8eba05f062db478bdbcd
Status: Downloaded newer image for openjdk:8u302-jdk-slim
 ---> 99b31c7569d0
Step 2/4 : LABEL maintainer=zhaoxingyu
 ---> Running in ed198fde1700
Removing intermediate container ed198fde1700
 ---> 36b967d986e0
Step 3/4 : COPY target/*.jar /app.jar
 ---> b9510edd5cfd
Step 4/4 : ENTRYPOINT ["java","-jar","/app.jar"]
 ---> Running in 3d4b50258779
Removing intermediate container 3d4b50258779
 ---> 3d2793ed75e4
Successfully built 3d2793ed75e4
Successfully tagged java-demo:1.0

启动镜像测试

docker run -d -p 6500:6500 java-demo:1.0

如果是云服务器设置安全组 暴露6500端口 (这里暴露的是6000-7000之间的端口,因为还要暴露redis端口)

推送到docker hub
  1. 注册dockerhub

  2. 创建dockerhub的仓库

  3. 服务器登录dockerhub

    # 登录输入用户名密码
    docker login
    
    # (退出:docker logout)
    
  4. 设置本地镜像标签

    docker tag java-demo:1.0  zhaoxingyudocker/java-demo:1.0
    

  5. 推送镜像

    docker push zhaoxingyudocker/java-demo:1.0
    
  6. 等待推送完成

    [root@zhaoxingyu code]# docker push zhaoxingyudocker/java-demo:1.0
    The push refers to repository [docker.io/zhaoxingyudocker/java-demo]
    b21b45a4739d: Pushed 
    3b147e0af2a7: Mounted from library/openjdk 
    86b49f790727: Mounted from library/openjdk 
    f7e816b93eb6: Mounted from library/openjdk 
    a548c9107c3a: Mounted from library/openjdk 
    1.0: digest: sha256:e067d07df0f6da693df9702970ea4c69ec5f27f8af3a3517ce3b3e0a136ff729 size: 1372
    
  7. 推送完成

  8. 搜索自己的镜像

    [root@zhaoxingyu code]# docker search zhaoxingyudocker
    NAME                                DEscriptION   STARS     OFFICIAL   AUTOMATED
    zhaoxingyudocker/java-demo          这里是描述哦        0
    
其他人拉取运行
# 拉取
docker pull zhaoxingyudocker/java-demo:1.0

# 运行
docker run -d -p 6500:6500 java-demo:1.0
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/274861.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号