docker的安装及基本命令这里就略过了,可以看我的这篇笔记https://www.cnblogs.com/pyweb/p/11351878.html

这次需要在docker上部署两个项目,整体的流程为:安装环境 -> 生成容器 -> 启动容器 -> git代码并运行

1. 安装环境

本次使用的是Ubuntu环境,我第一次使用了daocloud.io/ubuntu, 下载好后安装环境有问题。然后换了ubuntu,使用正常,这里建议直接 docker pull ubuntu,下载stars最高的那个即可。

下载好后,启动镜像

docker run -it --name ubuntu1_name -d ubuntu /bin/bash 
# -i:以交互模式运行容器 -t:为容器分配一个伪终端输入。通常-it一起使用
# --name ubuntu1_name :为容器起个名称
# -p 1000:22 :指定端口映射 宿主机端口:容器端口。我这里设置了两个映射
# -d :说明容器启动后在后台运行,不进入容器。
# /bin/bash : 在容器内执行/bin/bash 命令

进入容器

docker exec -it 容器id /bin/bash  

刚下载Ubuntu的时候什么都没有,你得下载python3.x,pip3, vim, git

我自己试了下,docker里面应该是无法使用sudo的。

得先更新软件源中的所有软件列表:apt-get update

更新软件:apt-get upgrade

然后再 apt-get 软件名称。安装过程中可能会遇到一些问题,很好解决。

2. 生成基础镜像

环境安装好后,可以把这个容器打包,以便下次使用

# ./ubuntu_base.tar 为打包的镜像路径。
# ./ubuntu_base.tar 为打包好的镜像存放地址
docker export 要打包的容器名称 > ./ubuntu_base.tar

3. 生成容器

把打包好的镜像重新使用

# ./ubuntu_base.tar 为打包好的镜像路径
cat './ubuntu_base.tar' | docker import - ubuntu1_name

4. 使用git把代码pull下来,会提示你输入gitlab的账号密码。

python3 app.py  # 执行代码

docker实现分布式项目部署的更多相关文章

  1. Linux下分布式项目部署环境搭建与使用(druid-1.0.25.jar)数据库连接加密

    一.JDK安装 1.执行命令:cd Downloads/ 2.上 传:jdk-8u111-linux-x64.tar.gz 到Downloads 3.执行命令:tar -zxvf jdk-8u111- ...

  2. docker开源仓库Harbor部署笔记

    Harbor介绍Harbor是Vmvare团队开发的开源企业级registry仓库,相比docker官方拥有更丰富的权限权利和完善的架构设计,适用大规模docker集群部署提供仓库服务.项目地址:ht ...

  3. Docker之LNMP分布式容器部署

    Docker之LNMP分布式容器部署 目录 Docker之LNMP分布式容器部署 一.项目模拟 1. 项目环境 2. 服务器环境 3. 任务需求 二.Linux系统基础镜像 三.Nginx 1. 建立 ...

  4. docker安装Tomcat软件,部署项目

    1 搜索tomcat镜像 $ sudo docker search tomcat NAME DESCRIPTION STARS OFFICIAL AUTOMATED tomcat Apache Tom ...

  5. 分布式项目中 linux 服务器 部署jar 应用脚本 deploy.sh

    在实际项目的部署中,尤其是分布式项目,有很多服务的jar包需要 部署,这里抽取出公用的 deploy的脚本 下面是不含jdk配置的 #!/bin/bash JAVA_OPTIONS_INITIAL=- ...

  6. 从零开始通过idea插件将一个spring boot项目部署到docker容器里运行

    实操:将一个spring boot项目部署到docker容器里运行 实验需要的环境: 腾讯云+Ubuntu 16.04 x64+idea+插件docker integration+daocloud 第 ...

  7. Docker环境下的前后端分离项目部署与运维(九)后端项目部署与负载均衡

    数据库准备 建立数据库 renren_fast ,然后运行renrenfast项目中的db文件夹内的脚本 -- 菜单 CREATE TABLE `sys_menu` ( `menu_id` bigin ...

  8. .netcore项目部署到linux的docker里后,速度异常的慢

    .netcore项目部署到linux的docker里后,速度异常的慢,部署在iis下速度非常快. 特别是 接口里再调用其他接口,那速度绝对是蜗牛爬行的速度. 经过几个月的折腾,终于知道是什么问题了: ...

  9. docker 实战-项目部署

    前面学习了 docker 的命令和实际的用法,现在来实战一下.编排一个服务,也就是项目部署. 目前我们在一个闭源环境下工作,介绍一些工作流程和部署项目的方法. 该工作流程比较特殊 所谓闭源环境就是 没 ...

随机推荐

  1. 洛谷 - P2146 - 软件包管理器 - 重链剖分

    https://www.luogu.org/problem/P2146 继续重链剖分. 这里好像很好懂,每次安装软件就区间改值赋值整个路径是1,然后比较前后的sum值变化就可以了.事实上后一次的sum ...

  2. Linux延时执行命令at

    也许你的Ubuntu没有at命令,先安装 - sudo apt install at 在某时刻执行命令 - at 15:30:回车之后,需要在at后输入指令,表示在15:30要执行的指令 - 比如输入 ...

  3. go中string类型转换为基本数据类型的方法

    代码 // string类型转基本数据类型 package main import ( "fmt" "strconv" ) func main() { str1 ...

  4. psexec远程重启服务器

    1 使受控机器支持远程psexec 管理 暂参照其他教程 2 打开远程命令行 3 重启服务执行net命令 停止远程桌面 net stop termservice 启动远程桌面 net start te ...

  5. python3-disc和set

    dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...

  6. less: 变量

    在Less中声明变量方式是使用@符号 @test_width: 300px; .box { width: @test_width; height: @test_width; background-co ...

  7. Integer类的缓存机制

    一.Integer类的缓存机制 我们查看Integer的源码,就会发现里面有个静态内部类. public static Integer valueOf(int i) { assert IntegerC ...

  8. 2019届校招前端面试题整理——HTML、CSS篇

    前言 2019届校招陆陆续续开始了,整理了一些高频的面试题. HTML部分 1. 什么是<!DOCTYPE>? DOCTYPE是html5标准网页声明,且必须声明在HTML文档的第一行.来 ...

  9. navicat连接客户端报错

    怎么感觉oracle和sql server是一个货色.装个服务得装半天,还是mysql好,一下子就好了!下面有一个在centos7上面安装oracle11g的详细步骤,感觉找不到比这个更详细的了吧! ...

  10. OC—类的设计和NSString

    经过前一段时间C语言 的学习,从这周开始正式步入OC的学习 OC中类的定义:同一类事物的抽象,对象则与之相反,是抽象的类的具体化. OC中定义属性字段时通常在元素前面加上_如 NSString * _ ...