docker实现分布式项目部署
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 # 执行代码