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. 網上有人說是密鑰生成的不對,就試了他的命令,然後就成了,不曉得是不是這個的原因,看下圖:
        在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章