自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

遷移Wordpress到Docker,你會嗎?

運維 數(shù)據(jù)庫運維
本地部署 wordpress 采用 docker-compose 的方式,wordpress 使用的是最新版本,mysql 和之前 linode 服務(wù)器使用的同一版本。

很多年前我的個人博客是部署在 Linode 的服務(wù)器,后來又給女兒弄了一個博客記錄女兒的成長,使用的是 Wordpress ,老婆執(zhí)筆?,F(xiàn)在我的博客早已遷移到了 github ,女兒也長大了,博客好幾年沒有更新,準(zhǔn)備停掉 linode 服務(wù)器,將女兒博客遷移到本地。

遷移有三個步驟:

  • 備份原博客數(shù)據(jù);
  • 本地部署 wordpress;
  • 還原。

備份

將服務(wù)器 wwwroot 目錄中的文件拷貝到本地。

將 mysql 數(shù)據(jù)庫進(jìn)行備份。

本地部署 wordpress

本地部署 wordpress 采用 docker-compose 的方式,wordpress 使用的是最新版本,mysql 和之前 linode 服務(wù)器使用的同一版本,docker-compose.yml 文件內(nèi)容如下:

version: '3'

networks:
 wp_net:
  driver: bridge
  ipam:
   driver: default
   config:
    - subnet: 172.88.1.0/24

services:
  db:
    image: mysql:5.7
    volumes:
      - ./data:/var/lib/mysql
    restart: always
    ports:
      - "13306:3306"
    environment:
      - TZ=Asia/Shanghai
      - MYSQL_ROOT_PASSWORD=Aa123456
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wpadmin
      - MYSQL_PASSWORD=Aa123456
    command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci --default-authentication-plugin=mysql_native_password
    networks:
     wp_net:
      ipv4_address: 172.88.1.2


  wp:
    image: wordpress:latest
    ports:
      - "12000:80"
    restart: always
    volumes:
      - ./wordpress/:/var/www/html
    environment:
      - TZ=Asia/Shanghai
      - WORDPRESS_DB_HOST=db:3306
      - WORDPRESS_DB_USER=wpadmin
      - WORDPRESS_DB_PASSWORD=Aa123456
      - WORDPRESS_DB_NAME=wordpress
    networks:
     wp_net:
      ipv4_address: 172.88.1.3

volumes:
  db_data: {}
  wordpress_data: {}

在 docker-compose.yml 所在目錄執(zhí)行 docker-compose up -d 進(jìn)行容器構(gòu)建,構(gòu)建完成后,就可以在瀏覽器輸入 http://localhost:12000 進(jìn)行訪問:

按照向?qū)нM(jìn)行博客的初始化:

還原

因之前部署的 wordperss 版本和現(xiàn)在最新的版本差異很大,所以沒有使用完全覆蓋的方式。

在構(gòu)建的數(shù)據(jù)庫中創(chuàng)建一個名為 wordpress_bak 的庫,將備份的數(shù)據(jù)庫還原到這個庫中。

docker cp backup.sql 78fdd98f5834:/
docker exec -it 78fdd98f5834 bash
>mysql -uroot -pAa123456 wordpress < backup.sql

構(gòu)建成功后,默認(rèn)的 wordpress 庫中的表有些示例數(shù)據(jù),使用下面語句將示例數(shù)據(jù)刪除:

DELETE FROM wp_posts
DELETE from wp_terms

備份 wordpress_bak 庫中的 wp_posts 表,發(fā)現(xiàn)備份時提示錯誤:

原因是還原的數(shù)據(jù)庫日期類型的字段有不符合要求的默認(rèn)值,將 wp_posts 表中的日期字段的默認(rèn)值去掉即可。

使用下面語句將 wp_posts 表中 post_content 字段中內(nèi)容的域名進(jìn)行替換,這一步驟是將文章中的圖片地址替換為本地地址:

update wp_posts set post_content = REPLACE(post_content,'http://xxxx.me','http://localhost:12000')

將 wordpress_bak 庫中的 wp_posts、wp_terms 兩個表的數(shù)據(jù)同步到 wordpress 庫。同步完后,可以在瀏覽器訪問:http://localhost:12000 ,可以看到所有的文章列表,但點擊去后圖片不能顯示。

將備份的 wwwroot 中的 /wp_content/uploads 目錄復(fù)制到新安裝的 wordpress/wp_content 目錄中,這時圖片就能正常訪問了。

責(zé)任編輯:姜華 來源: 不止dotNET
相關(guān)推薦

2021-02-27 10:37:20

WindowsDocker版本

2021-08-19 15:36:09

數(shù)據(jù)備份存儲備份策略

2021-04-14 06:53:52

C# 修飾符 Public

2021-04-16 15:02:11

CAP理論分布式

2024-02-22 08:31:26

數(shù)據(jù)恢復(fù)工具MySQL回滾SQL

2012-06-20 10:47:25

Team Leader

2019-05-07 15:49:27

AI人工智能藝術(shù)

2010-07-13 10:40:30

唐駿

2012-02-24 09:34:48

SVNGit

2021-03-10 18:07:58

協(xié)議調(diào)試 Modbus

2019-07-17 15:45:24

Spark內(nèi)存Java

2011-09-30 13:37:35

51CTO博客一周熱門薪酬

2022-03-25 09:39:50

LinuxLinux top

2021-11-05 10:59:06

元編程語言工具

2024-03-29 12:50:00

項目分層模型

2015-08-20 14:29:38

Docker虛擬機(jī)

2024-10-15 11:37:06

2021-08-30 15:41:13

Kafka運維數(shù)據(jù)

2021-11-29 11:11:45

SQL查詢技巧

2021-05-14 07:20:07

.NetSwagger使用
點贊
收藏

51CTO技術(shù)棧公眾號