记录在Mac上使用Docker安装Walle
- 找一个或创建一个目录,用来放置walle的配置文件等。
- 这里我是创建在
/usr/local/docker/nginx/www/walle
路径的。
- 这里我是创建在
- 创建配置文件
walle.env
(这里跟官方配置一样的,不需要修改):vim walle.env
# Set MySQL/Rails environment MYSQL_USER=root MYSQL_PASSWORD=walle MYSQL_DATABASE=walle MYSQL_ROOT_PASSWORD=walle MYSQL_HOST=db MYSQL_PORT=3306
- 创建
docker-compose.yml
文件,这里需要主要了,很多地方目录跟官方的目录是不一样的
vim docker-compose.yml
# docker version: 18.06.0+ # docker-compose version: 1.23.2+ # OpenSSL version: OpenSSL 1.1.0h version: "3.7" services: web: image: alenx/walle-web:2.1 container_name: walle-nginx hostname: nginx-web ports: # 如果宿主机80端口被占用,可自行修改为其他port(>=1024) # 0.0.0.0:要绑定的宿主机端口:docker容器内端口80 # 第一个不同,本地80端口被占,只能选择8081端口 - "8081:80" depends_on: - python networks: - walle-net restart: always python: image: alenx/walle-python:2.1 container_name: walle-python hostname: walle-python env_file: # walle.env需和docker-compose在同级目录 - ./walle.env command: bash -c "cd /opt/walle_home/ && /bin/bash admin.sh migration && python waller.py" expose: - "5000" volumes: # 第二个不同,挂载的宿主机目录不同 - /usr/local/docker/walle/walle_home/plugins/:/opt/walle_home/plugins/ - /usr/local/docker/walle/walle_home/codebase/:/opt/walle_home/codebase/ - /usr/local/docker/walle/walle_home/logs/:/opt/walle_home/logs/ # 第三个不同,mac的.ssh目录不在/root下,而是在 /Users/adminstror - /Users/adminstror/.ssh:/root/.ssh/ depends_on: - db networks: - walle-net restart: always db: image: mysql container_name: walle-mysql hostname: walle-mysql env_file: - ./walle.env command: [ '--default-authentication-plugin=mysql_native_password', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci'] ports: # 第四个不同,mysql映射端口是3307 - "3307:3306" expose: - "3306" volumes: # 第五个不同,mysql挂载的目录不同 - /usr/local/docker/walle/mysql:/var/lib/mysql networks: - walle-net restart: always networks: walle-net: driver: bridge
- 启动
docker-compose up -d
- 访问,浏览器输入:
localhost:8081
或者127.0.0.1:8081
- 服务器开启免密
ssh
登录(这个小插曲搞得我头疼)
cat ~/.ssh/id_rsa.pub
mac上面查看rsa公钥,并复制。vim ~/.ssh/authorized_keys
服务器上编辑文件并加入复制的ras公钥。ssh root@172.1.2.3
mac上检查是否成功免密登录。- 免密码登录需要远程机器权限满足以下三个条件:
~ 755
即chmod 755 ~
~/.ssh 700
即chmod 700 ~/.ssh
~/.ssh/authorized_keys 644 或 600
即chmod 744 ~/.ssh/authorized_keys
小插曲开始老哈:
- 按照上面的方法,一开始死活连不上
- 随后使用
ssh-keygen -m PEM -t rsa
命令重新生成密钥,填写到服务器上的vim ~/.ssh/authorized_keys
文件。 再重新赋予权限,就成功了~,我靠。
- 网上有人说是密钥生成的不对,就试了他的命令,然后就成了,不晓得是不是这个的原因,看下图: