【docker】docker部署java web项目

docker部署java web项目

Docker学习

一、docker操作

centos及docker设置

entos yum 设置

复制代码
# 修改yum镜像源
yum-config-manager \
    --add-repo \
   https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
   
 # 关闭防火墙
 systemctl stop firewalld

# 禁用防火墙
  systemctl disable firewalld

配置docker镜像加速器

复制代码
1. 安装/升级Docker客户端推荐安装1.10.0以上版本的Docker客户端,参考文档docker-ce
2. 配置镜像加速器针对Docker客户端版本大于 1.10.0 的用户您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://66eankq3.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

二、image 镜像操作

拉镜像

镜像网址:hub.docker.com

centos7拉镜像代码: docker pull redis

导出镜像

复制代码
docker save -o redis.tar redis:latest
docker save -o redis.tar redis

删除本地镜像

复制代码
docker rmi redis:latest

加载本地镜像

复制代码
docker load -i redis.tar

三、container 容器操作

复制代码
# 查看所有容器
docker ps -a

Nginx容器示例

复制代码
docker run --name mynginx -d -p 80:80 nginx

--name 命名
-d 后台运行容器:守护进程的方式进行,退出命令窗口不会停止
-p 端口 宿主机端口:容器端口 

Redis容器示例

docker数据卷的使用

可以达到数据共享的目的




自定义镜像

构建镜像

实践代码

编写Dockerfile

制作Docker镜像

创建数据卷

powershell 复制代码
# 创建数据卷
[root@YCSPJ-GG-kz-2 ~]# docker volume create yc6quan_jar
yc6quan_jar
[root@YCSPJ-GG-kz-2 ~]# 
[root@YCSPJ-GG-kz-2 ~]# 
[root@YCSPJ-GG-kz-2 ~]# 
# 查看创建的数据卷
[root@YCSPJ-GG-kz-2 ~]# docker volume ls
DRIVER    VOLUME NAME
local     yc6quan_jar
[root@YCSPJ-GG-kz-2 ~]# 
[root@YCSPJ-GG-kz-2 ~]# 
# 查询数据卷对应的宿主机路径
[root@YCSPJ-GG-kz-2 ~]# docker volume inspect yc6quan_jar
[
    {
        "CreatedAt": "2024-03-11T11:29:30+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/data/docker/volumes/yc6quan_jar/_data",
        "Name": "yc6quan_jar",
        "Options": {},
        "Scope": "local"
    }
]

运行容器

powershell 复制代码
 docker run -d -p 58080:8080 --name yc6quan_jar_2024v1 -v yc6quan_jar:/app  yc6quan_jar:v1.0 

# -d 后台运行
# -p 开放端口
# --name 容器名字
# -v加载数据卷,指定名称数据卷并赋予容器内路径
# 最后使用镜像进行容器构建
相关推荐
To_OC1 小时前
别再串行写 await 了,Promise.all 才是并行请求的正确打开方式
前端·javascript·promise
vipbic2 小时前
中后台越做越乱后,我用插件化把它救回来了
前端·vue.js
Hyyy2 小时前
Computer Use 适合做什么,不适合做什么——一次真实使用后的思考
前端
黒亱中旳2 小时前
Java AI 框架三国杀:Solon AI vs Spring AI vs LangChain4j 深度对比
java·人工智能·spring
网络工程小王2 小时前
[智能对话系统架构设计文档]
java·系统架构·langraph
小和尚同志2 小时前
前端 AI 单元测试思考与落地
前端·人工智能·aigc
alxraves2 小时前
医用超声远程会诊系统:会诊平台的核心架构与功能解析
java·人工智能·架构
带刺的坐椅2 小时前
用 Solon AI ReActAgent 落地智能客服工单处理
java·ai·llm·agent·solon·react-agent
我是坏垠3 小时前
Crypto、Cipher与Password:Java加密开发的三个核心概念
java·开发语言·python
invicinble3 小时前
c端系统,其实更像一个信息展示平台
前端