docker部署java web项目
- 一、docker操作
- centos及docker设置
-
- [entos yum 设置](#entos yum 设置)
- 配置docker镜像加速器
- [二、image 镜像操作](#二、image 镜像操作)
- [三、container 容器操作](#三、container 容器操作)
- docker数据卷的使用
- 自定义镜像
- 实践代码
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加载数据卷,指定名称数据卷并赋予容器内路径
# 最后使用镜像进行容器构建