Docker Compose

小cookie,大智慧

你离开我真会死。 提交于 2020-12-17 05:05:20
Cookie是什么?cookies是你访问网站时创建的数据片段文件,通过保存浏览信息,它们使你的在线体验更加轻松。 使用cookies,可以使你保持在线登录状态,记录你的站点偏好,并为你提供本地化支持。 First-party cookies or Third-party cookies 第一方cookie由你访问的站点创建。该站点指的是地址栏显示的站点; 第三方cookie是由其他站点创建的。这些站点拥有你当前访问的网页上部分资源,如广告或图像。 第一方/第三方cookie不是绝对的标签,而是相对于用户的上下文。 同一cookie可以是第一方也可以是第三方,这取决于用户当时所在的网站。 “ 为什么要提第三方cookie,这与下面的cookie的SameSite策略密切相关。 cookie的常规使用方式 web服务端发送给浏览器的cookie,浏览器会存储并在下次请求原服务器的时候回发cookie。 在HTTP请求模型中以标头的形式体现:Response中 Set-Cookie 标头种植cookie;Request Cookie 标头携带(该请求允许携带的)cookies HTTP/1.0 200 OK Content-type: text/html Set-Cookie: yummy_cookie=choco Set-Cookie: X-BAT-FullTicketId=TGT

使用Docker部署SpringBoot+Vue博客系统

二次信任 提交于 2020-12-16 15:12:04
作者:zzzzbw segmentfault.com/a/1190000016557755 在今年年初的时候,完成了自己的个Fame博客系统的实现,当时也做了一篇博文Spring-boot+Vue = Fame 写blog的一次小结作为记录和介绍。从完成实现到现在,也断断续续的根据实际的使用情况进行更新。 只不过每次上线部署的时候都觉得有些麻烦,因为我的服务器内存太小,每次即使只更新了前台部分(fame-front)的代码,在执行 npm build 的时候都还必须把我的后端服务(fame-server)的进程关掉,不然会造成服务器卡死(惨啊)。 而且这个项目是前后端分离的,博客前台页面还为了SEO用了 Nuxt 框架,假如是第一次部署或者要服务器迁移的话,麻烦的要死啊,部署一次的话要以下步骤 安装mysql,修改相关配置文件,设置编码时区等,然后重启 下载安装java,配置java环境 下载安装maven,配置maven环境 下载安装nginx,修改配置文件,设计反向代理等 启动spring-boot项目 打包vue项目, npm install , npm run build 等 启动nuxt项目, npm install , npm run start 等 如果能够顺利的完成这七个步骤算是幸运儿了,假如中间哪个步骤报错出了问题,可能还要回头查找哪个步骤出了问题,然后又重新部署

Docker Compose详解

一笑奈何 提交于 2020-12-16 13:55:21
1. 简介 Docker DockerFile build run 手动操作,单个容器 微服务,100个微服务,依赖关系 Docker Compose来轻松管理容器,定义运行多个容器 官方简介 定义运行多个容器,需要一个yuml配置文件 使用Compose三步骤 1. 使用Dockerfile保证我们的项目可以在任何地方可以运行 2. 定义一个服务(应用)在docker-compose.yml,它可以运行在隔离的环境中 3. 使用docker-compose up命令来启动dockerCompose 作用:批量容器的管理 # yaml配置文件 version: "3.9" services: web: build: . ports: - "5000:5000" volumes: - .:/code - logvolume01:/var/log links: - redis redis: image: redis volumes: logvolume01: {} 2. 安装 1. 下载 # 1 需要的环境 py-pip , python-dev , libffi-dev , openssl-dev , gcc , libc-dev , and make . # 2 下载相关compose版本 sudo curl -L "https://github.com/docker

docker--私有仓库

▼魔方 西西 提交于 2020-12-12 06:39:05
私有仓库 有时候使用 Docker Hub 这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。 本节介绍如何使用本地仓库。 docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库。本文内容基于 docker-registry v2.x 版本。 安装运行 docker-registry 容器运行 你可以通过获取官方 registry 镜像来运行。 $ docker run -d -p 5000:5000 --restart=always --name registry registry 这将使用官方的 registry 镜像来启动私有仓库。默认情况下,仓库会被创建在容器的 /var/lib/registry 目录下。你可以通过 -v 参数来将镜像文件存放在本地的指定路径。例如下面的例子将上传的镜像放到本地的 /opt/data/registry 目录。 $ docker run -d \ -p 5000:5000 \ -v /opt/data/registry:/var/lib/registry \ registry 在私有仓库上传、搜索、下载镜像 创建好私有仓库之后,就可以使用 docker tag 来标记一个镜像,然后推送它到仓库。例如私有仓库地址为 127.0.0.1:5000。 先在本机查看已有的镜像。 $ docker image ls

Docker实践:python应用容器化

放肆的年华 提交于 2020-12-10 02:41:43
一、前言    容器使用沙箱机制,互相隔离,优势在于让各个部署在容器的里的应用互不影响,独立运行,提供更高的安全性。本文主要介绍python应用(django)跑在docker容器里,编写dockerfile实现镜像构建自动化以及docker神器compose。 二、编写Dockerfile文件   官网下载的python镜像比较精简,web应用相关依赖还是需要自己安装的。编写Dockerfile,可以让你构建镜像的时候自动化。实例如下: FROM python:3.6.4 RUN mkdir /code \ &&apt-get update \ &&apt-get -y install freetds-dev \ &&apt-get -y install unixodbc-dev COPY app /code COPY requirements.txt /code RUN pip install -r /code/requirements.txt -i https://pypi.douban.com/simple WORKDIR /code CMD ["/bin/bash","run.sh"] FROM: Dockerfile中的一个非常重要的命令,作用是指定一个基础镜像来进行构建流程。比如上面指定了python3.6.4作为基础镜像

树莓派3b重新折腾

北慕城南 提交于 2020-12-10 02:17:56
最近把树莓派3b重新折腾起来了,安装了一个ubuntu,装上docker 和docker compose,我测试了一下读写系统盘的SD卡,写入大概15M/s,读取20M/s。读写usb2.0接口上的sd卡速度更慢,写入只有6~7M/s,用来存放生产数据不太乐观,比较合理的是用来做备份,数据放在系统盘的SD卡上。 安装Docker: 当前只能使用snap的方式安装: snap install docker snap install docker-composer snap logs docker snap stop docker snap start docker [解决] snap 安装的 docker 意外关闭导致找不到进程的错误 @todo 来源: oschina 链接: https://my.oschina.net/falcon10086/blog/4783607

Elastic:用Docker部署Elastic栈

£可爱£侵袭症+ 提交于 2020-12-06 06:07:16
安装 因为我们需要使用docker来进行安装,我们必须安装: docker:根据不同的操作系统,请按照要求安装docker。可以到网站 https://docs.docker.com/去安装 docker-compose。这个可以到网站 https://docs.docker.com/compose/install/#install-using-pip去安装 用docker来安装Elasticsearch 下载docker image 获取Docker的Elasticsearch就像对Elastic Docker注册表发出docker pull命令一样简单。 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.3.2 上面是以Elasticsearch 7.3.2为例来示范的。在实际的使用中,可以替换它用自己喜欢的版本。 开发或测试环境 从命令行运行Elasticsearch。使用以下命令可以快速启动Elasticsearch以进行开发或测试: docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.3.2 请注意single-node

Fabric2.0学习进阶——搭建环境准备(一)

拥有回忆 提交于 2020-12-05 10:13:00
1.1 环境资源 Fabric推荐安装系统为Linux和Mac,本文的安装环境为安装Ubuntu系统的虚拟机,内存设置为4G。本文使用的系统安装包为ubuntu-20.04-live-server-amd64.iso,至于如何安装虚拟机请自行百度。 1.2 依赖安装 在已经准备好服务器或虚拟机的前提下,本节主要介绍Fabric平台安装部署过程中所需要的软件安装。这些软件包括: curl:下载工具,版本latest git:代码克隆工具,版本latest golang:Fabric很多组件基于Go编程开发,版本1.14.2 jq:JSON解析器,版本latest Docker:容器,版本18.06.3-ce Docker Compose:容器管理工具,版本1.25.5 Ubuntu系统提供的软件安装命令是apt-get,在进行软件安装之前,需要把资源列表进行更新,保证下载到最新的软件版本。执行如下命令实现资源列表更新: sudo apt update -y --fix-missing 1.2.1 curl安装 执行以下命令完成curl的安装: sudo apt install -y curl 查看安装结果,执行命令: curl -V 如下图所示,命令正常执行将显示版本号,发布时间等信息,表示安装成功。 1.2.2 git安装 执行以下命令完成git的安装: sudo apt

006/搭建fabric(二)

牧云@^-^@ 提交于 2020-12-03 22:56:23
准备vmware虚拟机,并安装完ubuntu系统后。继续搭建fabric运行环境。。。 0。打开终端,切换root身份。目的:后续操作即可不用sudo... 右键-》open Terminal-》 // 默认root用户是无固定密码的,并且是被锁定的,如果想给root设置一个密码 sudo passwd root // 输入密码 & 确认密码 // 切换root用户 su root // 输入密码即可--root // 切换为普通用户 su username // eg:su yufeng 1。安装GIT apt- get install git //安装git git version //查看版本号 2。安装docker 和 docker-compose(必须) // 1.卸载旧版本的Docker // 旧版本的Docker被称作docker或者docker-engine,Docker CE(社区版)包现在被叫做docker-ce。如果之前安装过了,需要先卸载: apt - get remove docker docker- engine docker.io // 2。使用存储库安装docker (一)。设置存储库 // 【1】.更新apt安装包索引 apt - get update // 【2】。安装软件包以允许apt通过HTTPS使用存储库: apt - get

docker,构建nginx反向代理tomcat

岁酱吖の 提交于 2020-12-03 12:39:00
Nginx实现负载均衡是通过配置nginx.conf来实现的,nginx.conf的全部内容如下: user nginx; worker_processes 1 ; error_log /var/log/nginx/ error.log warn; pid /var/run/ nginx.pid; events { worker_connections 1024 ; } http { include /etc/nginx/ mime.types; default_type application /octet- stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"' ; access_log /var/log/nginx/ access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65 ; #gzip on; #include /etc/nginx/conf.d /* .conf; upstream tomcat_client {