# Use an official Python runtime as a parent image
FROM python:2.7-slim 基本运行环境镜像
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in requirements.txt 运行环境中安装中间件 ,安装之后还需要运行
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# Make port 80 available to the world outside this container 开放访问端口
EXPOSE 80
# Define environment variable
ENV NAME World
# Run app.py when the container launches 部署程序
CMD ["python", "app.py"]
安装运行好之后可以在次基础上构建新的镜像,之后在其他机器上只要安装了dock,然后运行此镜像即可,启动应用程序,其中的中间件
为了生产环境的方便部署,先将构建的镜像上传到docker官方的注册表,生产部署的时候只要从注册地址拉取运行即可,生产环境只要装原生的docker即可
docker 的swarm还具有nginx的特性,自动负载
任何部分例如群,应用程序都可拆除
docker 分布集群的时候只能通过一个主节点(集群管理器)发布命令到其他机器节点执行
执行 docker swarm init的为集群管理器
执行 docker swarm join的为工作节点
2377 集群管理端口
2376 虚拟机的端口
docker-machine ssh myvm2 --远程登录方式1
设置远程登录的另一种方式:(缓存中设置)
docker-machine env myvm1 //定义文件
export DOCKER_TLS_VERIFY="1" //开始编辑文件
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/sam/.docker/machine/machines/myvm1"
export DOCKER_MACHINE_NAME="myvm1"
# Run this command to configure your shell: //运行文件,在主节点中运行之后,其他工作节点都会执行
# eval $(docker-machine env myvm1)
部署的时候如果是私有的注册则需要先登录,然后部署
docker login registry.example.com
docker stack deploy --with-registry-auth -c docker-compose.yml getstartedlab
使用集群部署命令的时候,如果只是一台服务器那么会在这个服务部署多个,如果是读个服务器则会在每个服务器上部署相应数量的服务(自动负载到某个服务上)
负载找服务的是通过对应端口的映射找到对应的应用
堆栈就是服务部署的多个节点---在docker的最顶部 docker stack deploy 堆发布
群就是集群
docker可以安装可视化管理工具---另外部署这个服务即可,和应用web同级
我们在requuire中安装了中间之后,还需要类似启动应用web一样启动这个服务 中间件的镜像是公用的,具体使用下载部署即可,数据持久化在本地
redis中键是指定数据在物理机上的落地地址,如果没有就会在容器内部创建数据目录,docker容器销毁数据就消失
volumes:
- "/home/docker/data:/data"
placement=[role:manager] ---指定只运行在集群管理器上
docker cloud
docker ce
通过docker云服务商建立docker节点(类似一个虚拟机一个docker节点),然后通过docker swarm init和docker swarm join 建立集群,
然后等过登录工具登录自己在云上的docker群组,远程执行命令发布自己托管的docker镜像程序,云上设置相应程序中间件的外部端口
相关推荐
1.从0到1部署前后分离项目安装docker,在liunx系统环境下,包含下载配置,以及常用的docker命令,此教程还是需要有一点docker基础的同学参考的。 1.从0到1部署前后分离项目安装docker,在liunx系统环境下,包含下载...
Docker基础入门到实战 网盘文件永久连接 01.Docker基本概念和框架 01.Docker -课程介绍 02.Docker -Docker 简介 03.Docker -Docker 的基本组成 04.Docker -Docker 容器相关技术简 02.Docker的安装和部署 01.Docker...
Docker 环境部署文档 本文档主要介绍了使用 Docker 部署环境的步骤和注意事项。 Docker 环境部署 Docker 是一个开源的容器化平台,可以将应用程序和其依赖项打包到一个容器中,使得应用程序可以在不同的环境中...
Docker基础入门到实战 01.Docker基本概念和框架 02.Docker的安装和部署 03.Docker容器 04.Docker镜像与仓库(一) 05.Docker客户端和守护进程 06.Docker镜像与仓库(二) 07.Docker容器的网络连接 08.Docker容器的...
基于hugo的静态导航网站+部署说明(支持docker快速部署).zip基于hugo的静态导航网站+部署说明(支持docker快速部署).zip基于hugo的静态导航网站+部署说明(支持docker快速部署).zip基于hugo的静态导航网站+部署说明...
步骤包括:选择合适的基础镜像、准备Java应用程序、配置Dockerfile、构建Docker镜像、运行Docker容器、访问Docker容器中的Java应用程序、发布Docker镜像。最佳实践包括:使用最小化的基础镜像、分离JRE和应用程序、...
1. 制作docker基础镜像-01 2. 制作支持ssh的docker镜像-centos7_ssh-01 3. 制作ssh无密码登录的docker镜像-01 4. 构建基于docker的单节点的HDFS集群-01 5. docker容器跨物理节点通信-01 6 跨物理节点构建基于docker...
### Docker Swarm 部署教程知识点详解 ...这些基础知识对于管理和维护 Docker Swarm 集群至关重要。在实际应用中,还可能涉及到服务的部署、网络配置、安全策略等方面的内容,这些将在后续的学习和实践中逐步探索。
Docker Registry服务:Docker Registry是Docker的镜像仓库,用于存储和分发Docker镜像。用户可以在此上传自己的镜像或拉取需要的镜像。...Docker Swarm、Kubernetes=等容器编排工具可以帮助用户定义、部署和管理。
该教程《用Docker轻松部署Spring应用:容器化实践指南》主要介绍了如何使用Docker技术来容器化和部署Spring应用。...通过学习本教程,读者将能够掌握从开发到部署整个流程的容器化技术,为后续的进阶学习打下坚实基础。
doker零基础入门,到简单web项目的简单部署... (Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。...
Docker基础概念与架构 Docker安装与配置 Docker镜像管理 Docker容器生命周期管理 Docker网络基础 Docker数据管理与持久化 Dockerfile进阶 Docker服务与健康检查 DockerCompose入门 DockerCompose网络与服务 Docker在...
这里我们将详细探讨如何利用Docker Compose部署Redis的主从哨兵配置和集群高可用性解决方案。 首先,Docker Compose是一个强大的工具,可以让我们通过YAML文件定义和运行多容器的Docker应用。在这个场景下,我们...
云原生Docker和K8S 01-Docker基础 云原生Docker和K8S 01-Docker基础是 Docker 和 Kubernetes 的基础知识介绍。Docker 是一种容器化技术,允许用户在隔离的环境中运行应用程序,而不需要创建虚拟机。Kubernetes 是一...
在STATIC部署中,Docker二进制文件可以直接在支持的基础系统上运行,而无需额外的配置或依赖。这对于那些对系统稳定性有高要求的环境,如生产服务器或者安全敏感的系统,是一个巨大的福音。此外,STATIC部署也方便在...
总结,通过Docker Compose部署ELK栈提供了一种便捷的方法,使得在本地或生产环境中快速设置和管理日志分析系统成为可能。这种方法具有可扩展性,易于维护,同时也简化了升级和备份过程。通过理解每个组件的作用以及...
docker-compose部署基础服务-且容器时间保持一致
1. **Docker基础** Docker是一种流行的容器化技术,它允许我们将应用程序及其依赖环境打包成独立的可移植容器,确保应用在任何支持Docker的平台上都能一致地运行。 2. **Docker Compose** Docker Compose是一个...
Gitllab+Jenkins+Docker+Harbor 自动化部署流程 一、 版本控制系统 Gitllab Gitllab 是一个基于 web 的 Git 仓库管理系统,提供了一个强大且灵活的平台来管理 Git 项目。 Gitllab 允许用户创建、管理和共享 Git ...
Docker-Ubuntu+Zabbix 部署详解 Docker-Ubuntu+Zabbix 部署是当前IT行业中非常流行的一种解决方案。...通过遵循本指南,您可以快速部署一个基于 Docker 的 Zabbix 监控系统,以便对您的 IT 基础设施进行监控和管理。