Docker - 应用部署
Docker 部署mysql
1.下载mysql 镜像
docker pull mysql:5.6
2.宿主机/root/ 下创建mysql目录
mkdir mysql
3.创建容器
docker run -id \
-p 3306:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.f \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6
4.进入容器
docker exec -it c_mysql /bin/bash
成功进入到mysql的命令行:
说明:
docker run -id \
-p 3307:3306 \ # 端口映射,客户端可以通过访问宿主机的3307端口访问容器的3306端口
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.f \ # 挂载数据卷
-v $PWD/logs:/logs \ # 挂载数据卷
-v $PWD/data:/var/lib/mysql \ # 挂载数据卷
-e MYSQL_ROOT_PASSWORD=123456 \ # 设置mysql root用户的密码
mysql:5.6
部署tomcat
1.宿主机/root/ 下创建tomcat 目录
2.创建发容器
docker run -id --name=c_tomcat \
-p 8080:8080 \
-v /root/tomcat:/usr/local/tomcat/webapps \
tomcat
3./root/tomcat/路径下创建:
test/index.html
客户端成功访问:
部署nginx
部署redis
镜像原理
linux 系统组成:
docker 镜像原理:
总结:
镜像制作
将容器转化为镜像
步骤:
1.将容器转化为镜像
docker commit 32d8d33f1d2e test_tomcat:1.0
2.将转化的镜像压缩
docker save -o test_tomcat.tar test_tomcat:1.0
3.删除原来的镜像
docker rmi b838c36de82e
4.解压压缩后的镜像
tips:
- 挂载的目录 压缩为镜像时会丢失,但是容器内其他的文件都在
Dockerfile
案例:使用dockerfile制作镜像,发布springboot项目将
package com.example.srpingboothello;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "hello springboot for docker ~~~~~~";
}
}
- 将打包好的 jar 文件上传到服务器
2.准备dockerfile文件,内容如下:
FROM java:8
MAINTAINER zzc <zzcsafsd@xxx.com>
ADD /root/dockerfile/srpingboot-hello-0.0.1-SNAPSHOT.jar app.jar
CMD java -jar app.jar
3.制作镜像
[root@localhost dockerfile]# docker build -f ./springboot_dockerfile -t app .
# 参数说明:
-f: 指定dockerfile 文件
-t:指定制作出的镜像名称
4.创建容器
# docker run -id --name=springboot_container -p 9000:8080 \
> app
5.访问项目
本文来自博客园,作者:chuangzhou,转载请注明原文链接:https://www.cnblogs.com/czzz/p/16496124.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!