Docker 部署考核

Docker安装

安装必要的系统工具

yum install -y yum-utils device-mapper-persistent-data lvm2

添加docker-ce安装源:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

配置阿里云Docker Yum源:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新yum缓存:

yum makecache fast

yml.pid占用:

-- rm -f /var/run/yum.pid

安装docker-CE:

yum -y install docker-ce

启动docker容器

systemctl start docker

下载 mysql:5.7 镜像

docker pull mysql/mysql-server:5.7

下载 openjdk 镜像

docker pull openjdk

下载 nginx 镜像

docker pull nginx

查看docker镜像

docker images

定义自定义网络

docker network create --subnet=172.33.0.0/16 my_net

部署mysql容器

创建文件夹

mkdir -p mysql/{conf,data,script}

将my.cnf放到conf里面

将book.sql放到script

创建MySQL容器

javascript 复制代码
docker run -itd \
-v /root/soft/mysql/conf/my.cnf:/etc/my.cnf \
-v /root/soft/mysql/data:/var/lib/mysql \
-v /root/soft/mysql/script:/script \
--privileged=true \
-e MYSQL_ROOT_PASSWORD=123456 \
--name m1 \
--net my_net \
mysql/mysql-server:5.7

进入mysql容器

docker exec -it m1 bash

登录MySQL

mysql -uroot -p

创建远程登录的用户

grant all on *.* to root@'%' identified by '123456';

创建数据库

create database shop;

使用数据库

use shop;

执行数据库脚本

source /script/book.sql

自定义项目镜像

编写Dockerfile文件

vim Dockerfile

javascript 复制代码
FROM openjdk:latest
WORKDIR /project
COPY spring.jar /project
CMD java -jar spring.jar --mysql.addr=m1

把jar包放到soft目录里面

构建镜像

docker build -t book:v1 .

运行三个容器

javascript 复制代码
docker run -itd \
--name b1 \
--net my_net \
book:v1
javascript 复制代码
docker run -itd \
--name b2 \
--net my_net \
book:v1
javascript 复制代码
docker run -itd \
--name b3 \
--net my_net \
-p 8080:8080 \
book:v1

访问端口

192.168.239.148:8080/book/list

部署nginx容器,实现外部访问

新建nginx文件夹

mkdir -p nginx/{conf.d,html}

修改hosts文件

C:\Windows\System32\drivers\etc

将default.conf配置文件放到conf.d文件夹里面

将静态素材放html里面

部署nginx

javascript 复制代码
docker run -itd \
--name n1 \
-v /root/soft/nginx/conf.d:/etc/nginx/conf.d \
-v /root/soft/nginx/html:/etc/nginx/html \
-p 80:80 \
--net my_net \
nginx

访问www.zkingedu.com

相关推荐
吳所畏惧10 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
张忠琳10 小时前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
HiDev_10 小时前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
Zhang~Ling11 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
爱写代码的森11 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
Elastic 中国社区官方博客11 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
中微极客11 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
久曲健的测试窝12 小时前
智能座舱自动化测试落地方案:数字仿真搭配实车实测,解决用例运维与场景失真难题
运维
AOwhisky12 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
重生的黑客13 小时前
Linux 进程优先级、切换与调度:从孤儿进程到 O(1) 调度模型
linux·运维·服务器·进程优先级·nice