Docker的打包,分发,部署
打包:
1、安装Docker:首先,在Linux主机上安装Docker。可以通过官方网站提供的安装脚本或包管理器来安装Docker。
2、创建Dockerfile:在应用程序的根目录下创建一个名为Dockerfile的文件。Dockerfile是一个文本文件,用于定义如何构建Docker镜像。可以在Dockerfile中指定应用程序的运行环境、依赖项和启动命令等信息。
3、构建Docker镜像:使用Docker命令来构建Docker镜像。在终端中,切换到包含Dockerfile的目录,并运行以下命令:
docker build -t <image_name> .
其中,<image_name>是要创建的Docker镜像的名称。这个命令会根据Dockerfile中的定义,自动构建镜像。
4、运行Docker容器:使用Docker命令来运行Docker容器。在终端中,运行以下命令:
docker run -d -p <host_port>:<container_port> --name <container_name> <image_name>
其中,<host_port>是主机上要映射的端口号,<container_port>是容器内部的端口号,<container_name>是要给容器起的名称,<image_name>是之前构建的Docker镜像的名称。
分发:
5、分发Docker镜像和容器:当Docker镜像和容器运行正常时,可以将它们分发给其他机器。如果是在一个私有网络中,可以将镜像推送到私有Docker仓库,并在其他机器上拉取镜像进行部署和运行。如果是在公共云平台上,可以将镜像上传到云平台提供的容器注册表,以供其他用户使用。
部署:
6.一键部署脚本
version: "3"
services:
ts-nginx:
image: 192.168.0.54/ts-common-lib/ts-nginx:1.10.1
ports:
- 80:80
- 443:443
privileged: true #修改容器权限,给容器加特权
volumes:
- /data/nginx/html:/usr/local/nginx/html:rw
- /data/nginx/conf/nginx.conf:/usr/local/nginx/conf/nginx.conf
- /data/nginx/logs:/usr/local/nginx/logs:rw
- /data/nginx/cert:/usr/local/nginx/cert:rw
command: /bin/bash -c "exec nginx -g 'daemon off;'"
ts-center:
image: 192.168.0.54/hb-trade-center/ts-center:0.0.2
ports:
- "1002:1002"
hostname: ts-center
restart: always
ts-config:
image: 192.168.0.54/hb-trade-center/ts-config:0.0.1
ports:
- "2002:2002"
hostname: ts-config
environment:
- "eureka_client_serviceUrl_defaultZone=http://tsingsoft:Tsingsoft2018@192.168.0.55:1002/eureka"
restart: always
depends_on:
- ts-center
ts-gateway:
image: 192.168.0.54/hb-trade-center/ts-gateway:0.0.2
ports:
- "3002:3002"
hostname: ts-gateway
restart: always
depends_on:
- ts-center
- ts-config
environment:
- "spring_profiles_active=hb-test"
- "eureka_client_serviceUrl_defaultZone=http://tsingsoft:Tsingsoft2018@192.168.0.55:1002/eureka"
ts-biz-support:
image: 192.168.0.54/hb-trade-center/ts-biz-support:0.0.2
ports:
- "6002:6002"
hostname: ts-biz-support
restart: always
depends_on:
- ts-center
- ts-config
environment:
- "spring_profiles_active=hb-test"
- "eureka_client_serviceUrl_defaultZone=http://tsingsoft:Tsingsoft2018@192.168.0.55:1002/eureka"
ts-auth:
image: 192.168.0.54/hb-trade-center/ts-auth:0.0.1
ports:
- "4002:4002"
hostname: ts-auth
restart: always
depends_on:
- ts-center
- ts-config
environment:
- "spring_profiles_active=hb-test"
- "eureka_client_serviceUrl_defaultZone=http://tsingsoft:Tsingsoft2018@192.168.0.55:1002/eureka"
ts-bi:
image: 192.168.0.54/hb-trade-center/ts-bi:0.0.1
ports:
- "5002:5002"
hostname: ts-bi
restart: always
depends_on:
- ts-center
- ts-config
environment:
- "spring_profiles_active=hb-test"
- "eureka_client_serviceUrl_defaultZone=http://tsingsoft:Tsingsoft2018@192.168.0.55:1002/eureka"