使用docker进行项目部署
2018-07-23 本文已影响0人
一杯海风_3163
一、install docker
1 下载docker安装包
li@lyh:~$ wget https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/
docker-ce_17.03.1~ce-0~ubuntu-xenial_amd64.deb
li@lyh:~$ wget http://mirrors.kernel.org/ubuntu/pool/main/libt/libtool/libltdl7_2.4.6-0.1_amd64.deb
2 ssh进入服务器 手工安装以下包
li@lyh:~$ sudo dpkg -i libltdl7_2.4.6-0.1_amd64.deb
li@lyh:~$ sudo dpkg -i docker-ce_17.03.1~ce-0~ubuntu-xenial_amd64.deb
3 安装docker-compose
li@lyh:~$ curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-Linux-x86_64 > docker-compose
li@lyh:~$ sudo mv docker-compose /usr/local/bin/
li@lyh:~$ sudo chmod +x /usr/local/bin/docker-compose
4 解决运行docker 无权限的问题
li@lyh:~$ sudo addgroup --system docker
li@lyh:~$ sudo adduser $USER docker
li@lyh:~$ newgrp docker
二、生成项目运行所需的镜像,一般为python,数据库(mysql),和项目运行所需的环境,三个镜像。
1 生成docker image(只会生成Python和项目相关的镜像,数据库的镜像需要先docker-compose up,让项目运行起来才能生成)
li@lyh:~$ docker-compose build
2 打包已经生成的镜像,docker images 查看镜像,xxx为生成的镜像(逐一打包)
li@lyh: docker images
li@lyh: docker save -o new_images.tar xxx
在目标服务器(要部署的服务器)使用镜像
1 导入镜像
li@lyh:~$ docker load < guodiantou.tar
2 运行系统(down为删除,每次docker-compose up后再次up需要docker-compose down清除上次的记录),只有项目运行起来,才能连接数据库
li@lyh:~$ docker-compose up(down)
3 生成数据表(dj_web就是配置文件docker-compose.yml中的项目名称)
li@lyh:~$ docker-compose run dj_web python3 ./manage.py migrate
4 进入数据库镜像,查看数据表并导入数据
li@lyh:~$ mysql -uroot -p -P3311 -h127.0.0.1
四、ssh连接云服务器命令:
li@lyh:~$ ssh root@IP地址
五、scp远程传输文件或文件夹命令:例如sudo scp test.txt root@xx.xx.xx.xx:/home/work/
li@lyh:~$ sudo scp 文件名 目标Linux系统用户名@ip地址:存放路径
若是传输文件夹则加-r
li@lyh:~$ sudo scp -r 文件名 目标Linux系统用户名@ip地址:存放路径