鸣谢
此篇由焦富涛贡献,为社区提供了 Docker 版本。人人为我,我为人人!而且极其注重细节,甚至细腻到中英文之间空格的控制。
About Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
Install Docker
我们重点说明docker在centos和ubuntu操作系统下的安装和使用,Mac下安装比较简单,直接下载dmg镜像安装即可,使用和centos,ubuntu基本无异,
不推荐在windows下部署,会有文件路径问题抽风。
- Centos系统
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce -y
sudo systemctl enable docker
sudo systemctl start docker
在安装过程中,也许会遇到Requires: container-selinux >= 2.9 的异常;
可以打开Centos下载包中的最新container-selinux包的地址,
然后运行:
sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm |
-
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce
https://docs.docker.com/docker-for-mac/install/#install-and-run-docker-for-mac
https://docs.docker.com/docker-for-windows/install/#start-docker-for-windows
Install docker-compose
install docker-compose
pip install docker-compose -i https://mirrors.aliyun.com/pypi/simple/ |
如果pip不存在,可以尝试
sudo yum install python-pip |
NEW environment file
在docker-compose.yml同级目录新建walle.env,连接数据库MYSQL_USER默认使用root,如需使用其他用户,需自建用户更改walle.env文件
vi walle.env
Set MySQL/Rails environment |
Prepare Before Deploy
vim docker-compose.yml
# docker version: 18.06.0+ |
Start
- 一键启动(快速体验)
docker-compose up -d && docker-compose logs -f
# 打开浏览器localhost:80
初始登录账号如下,开启你的walle 2.0之旅吧:)
超管:[email protected] \ Walle123 |
- 常用操作
# 构建服务
docker-compose build
# 启动服务,启动过程中可以直接查看终端日志,观察启动是否成功
docker-compose up
# 启动服务在后台,如果确认部署成功,则可以使用此命令,将应用跑在后台,作用类似 nohup python waller.py &
docker-compose up -d
# 查看日志,效果类似 tail -f waller.log
docker-compose logs -f
# 停止服务,会停止服务的运行,但是不会删除服务所所依附的网络,以及存储等
docker-compose stop
# 删除服务,并删除服务产生的网络,存储等,并且会关闭服务的守护
docker-compose down
Error
如果遇见一下错误,请docker-compose down之后再docker-compose up一次就可以了,这是mysql没有初始化完,就启动了python-server