記錄在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 [email protected]
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
文件。 再重新賦予權限,就成功了~,我靠。
- 網上有人說是密鑰生成的不對,就試了他的命令,然後就成了,不曉得是不是這個的原因,看下圖: