【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加载数据卷,指定名称数据卷并赋予容器内路径
# 最后使用镜像进行容器构建
相关推荐
前端Hardy1 分钟前
别再无脑用 `JSON.parse()` 了!这个安全漏洞你可能每天都在触发
前端·javascript·vue.js
前端Hardy3 分钟前
别再让 `console.log` 上线了!它正在悄悄拖垮你的生产系统
前端·javascript·vue.js
青青家的小灰灰7 分钟前
从入门到精通:Vue3 ref vs reactive 最佳实践与底层原理
前端·vue.js·面试
OpenTiny社区19 分钟前
我的新同事是个AI:支持skill后,它用TinyVue搭项目还挺溜!
前端·vue.js·ai编程
心在飞扬28 分钟前
MultiVector 多向量检索
前端·后端
用户390513321928832 分钟前
async 函数返回的 Promise 状态何时变为 resolved
前端
Maori31635 分钟前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
李剑一38 分钟前
大屏天气展示太普通?视觉升级!用 Canvas 做动态天气遮罩,雷阵雨效果直接封神
前端·vue.js·canvas
Lee川1 小时前
现代Web开发中的CSS继承、Flexbox布局与LocalStorage交互:从文档解析到实践应用
前端·css
炫饭第一名1 小时前
速通Canvas指北🦮——图形、文本与样式篇
前端·javascript·程序员