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. SQLServer查看及设置最大连接数

    很多时候自己本地开发会遇到 ,打开几个连接正常访问 之后就报错误,这时候需要调整sqlserver 最大连接数. 1. 查询最大连接数 SELECT value_in_useFROM sys.conf ...

  2. 本地局域网MySQL数据库连接方法(Navcat权限设置)

    情景: 当同一局域网环境中,需要协同开发并涉及到本地数据库互联情况,有关权限需要开放! 设置流程: 1.受访端连接 打开Navcat>>>>点击本地数据库>>> ...

  3. mybatis的if标签判断子类属性-There is no getter for property named 'export' in

    1 <select id="findList" resultType="BndExport"> SELECT <include refid=& ...

  4. python Opencv图像基础操作

    读取并显示图像 如果读取图像首先要导入OpenCV包,方法为: import cv2 读取并显示图像 img = cv2.imread("C:\test1.jpg") OpenCV ...

  5. 定时器,定时发邮件JavaMail

    一.定时器用法: 1.1先导入jar包 <!--spring整合其他文件时要用的jar包--> <dependency> <groupId>org.springfr ...

  6. nginx的RPM包制作案例

    使用nginx-1.12.2版本的源码软件,生成对应的RPM包软件,具体如下: - 软件名称为nginx - 软件版本为1.12.2 - RPM软件包可以查询描述信息 - RPM软件包可以安装及卸载 ...

  7. rabbit-c编译 vs2013

    需要openssl的库

  8. Vue的自定义滚动,我用el-scrollbar

    弄了一个持续更新的github笔记,可以去看看,诚意之作(本来就是写给自己看的--)链接地址:Front-End-Basics 此篇文章的地址:Vue的自定义滚动,我用el-scrollbar 基础笔 ...

  9. flask之视图函数从前端接收数据的方法

    一:从前端接收查询字符串  query-string 注意:get和post都可以在url后面添加查询字符串?a=1&b=2 测试工具:postman 1:get方式接收 视图函数 from ...

  10. Anacond的介绍

    Anacond的介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项. 因为包含了大量的科学包,Anaconda 的下载文件比较大( ...