记一次博客的迁移(Ubuntu安装docker部署博客)

admin2年前实践出真知230

一、docker的安装

更新源

#apt-get update

安装依赖

#apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

添加GPG密钥

#curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | apt-key add -

指纹验证

#apt-key fingerprint 0EBFCD88

设置稳定版仓库

#add-apt-repository \
   "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
  $(lsb_release -cs) \
  stable"

更新源

#apt-get update

列出docker版本

#apt-cache madison docker-ce

安装指定版本(VERSION_STRING为 列出版本的第二列:(冒号)后面的值)

#apt-get install \ 
  docker-ce-<VERSION_STRING> \ 
  docker-ce-cli-<VERSION_STRING> \ 
  containerd.io

或 直接安装最新版本

#apt-get install docker-ce docker-ce-cli containerd.io

验证docker是否安装成功

#docker run hello-world

卸载docker

#apt-get purge docker-ce
#rm -rf /var/lib/docker   #删除镜像、容器、配置等内容


二、php|nginx|mysql的安装

搜索镜像

#docker search php
#docker search nginx
#docker search mysql

拉取指定镜像 具体tag可以前往 https://hub.docker.com/ 搜索

也可以不带tag直接拉取最新版本,根据实际情况操作

#docker pull php:7.4-fpm
#docker pull nginx:1.23
#docker pull mysql:5.7

查看镜像拉取情况

#docker image ls


三、环境关联

PHP启动脚本

#vim startPHP74fpm

写入以下内容

#! /usr/bin/env bash
#解释 运行php:7.4-fpm别名为php74-fpm  并且映射宿主机目录/data/www
docker run --name php74-fpm -v /data/www:/data/www -d php:7.4-fpm

nginx 启动脚本

#vim startNGINX

写入以下内容 

#! /usr/bin/env bash
#解释 同php运行一样,但是这里将80和443端口也映射出来, -—link表示给php做个hostname,在做nginx和php配置时用得到 
docker run --name nginx-main -p 80:80 -p 443:443 -v /data/www:/data/www -v /etc/nginx/conf.d:/etc/nginx/conf.d --link php74-fpm:php74 -d nginx

以上两个文件保存后注意设置运行权限

#chmod +x startNGINX
#chmod +x startPHP74fpm

由于我博客没有使用mysql 直接用的sqlite,所以没有做mysql


注意事项

1、nginx配置php的注意事项

 location ~ \.php$ {
        fastcgi_pass   php74:9000;  #注意这里php74就是nginx启动地方-—link给hostname
        fastcgi_index  index.php;
        #fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
        fastcgi_param  SCRIPT_FILENAME  /data/www/myblog/$fastcgi_script_name;
        include        fastcgi_params;
    }

2、注意启动顺序 应该先启动php再启动nginx

3、由于我的服务器万年不重启,所以没有写删除容器的操作

如果已经运行过容器,再次使用脚本启动会提示容器已存在,按实际情况执行以下命令或者把命令加入到启动脚本中

#docker rm nginx-main
#docker rm php74-fpm


相关文章

thinkphp3.2一个复杂的查询语句

function buildWhere($where = array(), $searchFields = ''){    if(empty($searchFiel...

linux下利用nc监听端口的玩法

ubuntu/debian开机启动设置,移步这里家里有一些小服务器玩具,由于家里网络都是dhcp获取ip地址,ip地址可能会出现变动。那么如果在服务器上监听一个特殊端口,通过内网扫描指定的特殊端口,即...

关于时间的处理(时间范围生成,mysql按照天,周,月统计)

mysql的查询语句 #周  select FROM_UNIXTIME(create_time,'%Y%u') weeks,count(cas...

docker部署minio

docker部署minio

docker安装方式 移步 https://note.centos7.online/?id=27一、拉取镜像docker pull minio/minio二、启动容器do...

ubuntu通过docker-compose更快的迁移我的博客

安装dcoker方式移步 记一次博客的迁移(Ubuntu安装docker部署博客)安装docker-composewget https://github.com/docker/co...

记录一次docker安装mysql8.3

配置文件 /data/mysql8-data/conf/my.cnf[mysql] # 设置mysql控制台默认字符集 default-character-set=utf8mb4 #&...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。