Docker: Accelerated Container Application Development
第一步:安装Docker
进入Docker官网下载Docker,然后将此文件拷贝到无网络的电脑中,双击进行安装。
第二步:打包镜像
docker save -o my_images.tar my-mysql:latest my-backend:latest my-frontend:latest
解释为什么不需要打包nginx与jdk,在docker-compse的构建中,已经构建好的前后端的镜像,也就是此镜像内置了这些依赖与环境。(详情见上一篇文章)
底下是原版Docker-compose.yml
镜像名为: image: my-frontend:latest # 自定义前端镜像名称和标签
容器名为:container_name: frontend_container(可以进入容器,通过docker exec -it frontend_container bash)
version: "3.8"
services:
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
image: my-frontend:latest # 自定义前端镜像名称和标签
container_name: frontend_container
ports:
- "9877:9877"
restart: always
backend:
build:
context: ./backend
dockerfile: Dockerfile
image: my-backend:latest # 自定义后端镜像名称和标签
container_name: backend_container
ports:
- "8580:8580"
restart: always
mysql:
build:
context: ./mysql-init # 指定构建上下文目录
dockerfile: Dockerfile
image: my-mysql:latest # 自定义 MySQL 镜像名称和标签
container_name: mysql_container
ports:
- "3307:3306"
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
打包好后会生成:my_images.tar,它是一个镜像集合。
第三步:解压镜像
docker load -i my_images.tar
第四步:修改docker-compose.yml然后启动页面!
修改docker-compose.yml
version: "3.8"
services:
frontend:
image: my-frontend:latest # 使用已构建的 my-frontend 镜像
container_name: frontend_container
ports:
- "9877:9877"
restart: always
backend:
image: my-backend:latest # 使用已构建的 my-backend 镜像
container_name: backend_container
ports:
- "8580:8580"
restart: always
mysql:
image: my-mysql:latest # 使用已构建的 my-mysql 镜像
container_name: mysql_container
ports:
- "3307:3306"
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
执行:
docker-compose up -d
完成!