【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加载数据卷,指定名称数据卷并赋予容器内路径
# 最后使用镜像进行容器构建
相关推荐
乘风gg24 分钟前
为什么AI 时代来临,大部分人吃不到红利
前端·ai编程·claude
恋猫de小郭1 小时前
Android 限制侧载新进展,谷歌联合国内厂商推验证计划
android·前端·flutter
IT_陈寒1 小时前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
恋猫de小郭1 小时前
解读 Android 17 全新内存限制,有没有“豁免”后门?
android·前端·flutter
小bo波1 小时前
从"任意文件复制"深挖Java I/O:字符流与字节流的本质抉择
java·nio·io流·后端开发·文件复制
Hyyy2 小时前
理解LLM的基本工作原理:预训练、微调、推理的区别
前端
Gatlin3 小时前
前端逆向与反逆向:一场猫鼠游戏的底层逻辑与实战
前端
Pedantic3 小时前
本地通知(Local Notifications)学习笔记
前端
森蓝情丶3 小时前
我给 AI 搭了个法庭:一个前端仔的 LangGraph 实战全记录
前端·后端
爱勇宝4 小时前
干了近 8 年,一夜之间被裁:AI 时代,程序员最该害怕的不是 AI
前端·后端·程序员