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