Mac上安装Walle之Docker安装

记录在Mac上使用Docker安装Walle

  1. 找一个或创建一个目录,用来放置walle的配置文件等。
    • 这里我是创建在 /usr/local/docker/nginx/www/walle 路径的。
  2. 创建配置文件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
    
  3. 创建 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
    
  4. 启动
    docker-compose up -d
    
  5. 访问,浏览器输入: localhost:8081或者 127.0.0.1:8081
  6. 服务器开启免密ssh登录(这个小插曲搞得我头疼)
    1. cat ~/.ssh/id_rsa.pub mac上面查看rsa公钥,并复制。
    2. vim ~/.ssh/authorized_keys 服务器上编辑文件并加入复制的ras公钥。
    3. ssh [email protected] mac上检查是否成功免密登录。
    4. 免密码登录需要远程机器权限满足以下三个条件:
      1. ~ 755chmod 755 ~
      2. ~/.ssh 700chmod 700 ~/.ssh
      3. ~/.ssh/authorized_keys 644 或 600chmod 744 ~/.ssh/authorized_keys
    5. 小插曲开始老哈:
      1. 按照上面的方法,一开始死活连不上
      2. 随后使用 ssh-keygen -m PEM -t rsa 命令重新生成密钥,填写到服务器上的vim ~/.ssh/authorized_keys文件。
      3. 再重新赋予权限,就成功了~,我靠。
      4. 网上有人说是密钥生成的不对,就试了他的命令,然后就成了,不晓得是不是这个的原因,看下图:
        在这里插入图片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章