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 ~~~~~~";
    }
}
  1. 将打包好的 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.访问项目

posted @ 2022-07-19 22:38  chuangzhou  阅读(79)  评论(0编辑  收藏  举报