在Docker内安装MySql

在Docker中安装MySql

1
2
3
4
5
6
7
docker run --name meekou-mysql ^
-e MYSQL_ROOT_PASSWORD=1qaz@WSX ^
-e MYSQL_USER=meekou ^
-e MYSQL_PASSWORD=1qaz@WSX ^
-v "/home/ec2-user/meekou/meekou-mysql:/var/lib/mysql" ^
-p 3306:3306 ^
-d mysql

错误消息处理

  • 提示不能连接

      - 检查端口是否指定
      - 检查volume设定是否正确
    
  • Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

      - 指定`-h 127.0.0.1 `,如` mysql -h 127.0.0.1 -P 3306 -protocol=tcp -u root`
    
  • Authentication plugin ‘caching_sha2_password’ cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

      - Run `docker exec -it meekou-mysql mysql -u root -p`
      - Run `mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';FLUSH PRIVILEGES;`
    
  • cannot access ‘/docker-entrypoint-initdb.d/‘: Operation not permitted

    • 权限问题, 在run command 中添加--privileged,比如下面的命令
      1
      docker run --name meekou-mysql -e MYSQL_ROOT_PASSWORD=1qaz@WSX -e MYSQL_USER=meekou -e MYSQL_PASSWORD=1qaz@WSX -v "/home/ec2-user/meekou/meekou-mysql:/var/lib/mysql" -p 3306:3306 --privileged  -d mysql
  • Access denied for user

    • grant user permission with GRANT ALL PRIVILEGES ON *.* TO 'meekou'@'%' WITH GRANT OPTION;

Linux命令

常用命令

  • 更新包
    1
    sudo yum update
  • 更新特定的包
    1
    sudo yum update packagename
  • 创建文件夹
    1
    mkdir foldername
  • 列举文件
    1
    ls
  • 重命名文件夹
    1
    mv <source_directory> <target_directory>
  • 获取当前路径
    1
    pwd
  • 移动文件
    1
    mv sourcefilepath targetfilepath

Docker入门

在Linux安装Docker(AWS EC2)

  • 安装Docker Engine
    • 执行下面的命令
      1
      sudo yum update -y
    • 安装Docker
      1
      sudo amazon-linux-extras install docker
    • 启动Docker service
      1
      sudo service docker start
    • 添加ec2-userdocker用户组
      1
      sudo usermod -a -G docker ec2-user
    • 检查是否安装成功
      1
      sudo docker info
    • 创建Hello world
      1
      sudo docker run -it -p 5000:80 hello-world

重新创建Compose下特定的Container

1
2
3
4
docker-compose stop nginx # stop if running
docker-compose rm -f nginx # remove without confirmation
docker-compose build nginx # build
docker-compose up -d nginx # create and start in background

Hexo 入门

基础要求

  • Node.js
  • Git

安装Hexo

  • 运行
    1
    npm install -g hexo-cli

初始配置

  • 执行代码初始化 Hexo
    1
    2
    3
    hexo init <folder path>
    cd <folder path>
    npm install

项目结构

.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes

基础用法

  • 创建新的文章或者页面
    1
    hexo new [layout] <title>
    post是默认的layout,默认的Layoutpost,page,draft
    1
    hexo new page --path _posts/Tech/Excel/个人所得税之退税还是补税 "个人所得税之退税还是补税?" 

服务器

  • 安装Hexo服务器
    1
    npm install hexo-server --save
  • 启动Hexo服务器
    1
    hexo server

生成与部署

  • 生成并监视文件
    1
    hexo generate --watch
    • 生成并部署
      1
      2
      hexo generate --deploy
      hexo deploy --generate

一键发布到Github Pages

  • 一键部署到Git
    • 安装hexo-deployer-git
      1
      npm install hexo-deployer-git --save
    • 修改_config.yml
      1
      2
      3
      4
      5
      deploy:
      type: git
      repo: <repository url> # 仓库的全路径
      branch: [branch]
      message: [message]
    • 执行部署
      1
      2
      hexo clean
      hexo deploy
    • 前往对应仓库设置修改Pages为上面设置的branch

参考文献

Hexo