linux centos 安装docker 以及软件并启动,开机自启动

6 阅读2分钟

第一步:清理旧文件 不管以前那个文件被改成了什么样,直接删除它,避免干扰。 在终端执行:

rm -rf /etc/yum.repos.d/CentOS-Base.repo

第二步:写入全新的配置(核心步骤) 我们不依赖下载命令(防止 wget 没有或网络问题),直接用 cat 命令把正确的配置写入文件。 请复制下面从 cat 开始到 EOF 结束的整段代码,粘贴到终端里,按回车执行:

cat > /etc/yum.repos.d/CentOS-Base.repo << 'EOF'
[base]
name=CentOS-7.9.2009 - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-7.9.2009 - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-7.9.2009 - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-7
EOF

第三步:清理并生成缓存 执行下面两行命令:

yum clean all
yum makecache

第四步:验证 如果第三步最后显示 Metadata Cache Created,说明成功了。 现在你可以尝试更新

yum update

docker 镜像同步

镜像站 渡渡鸟镜像同步站

https://docker.aityp.com/

拉取镜像

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/setzero/mysql:5.7.44-linuxarm64
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/setzero/mysql:5.7.44-linuxarm64  docker.io/setzero/mysql:5.7.44

启动php

创建 Nginx 配置文件

  cat > /data/web/default.conf <<EOF
server {
    listen       80;
    server_name  localhost;
    
    # 容器内的网站根目录,必须是 /var/www/html
    root   /var/www/html;
    index  index.php index.html index.htm;

    location / {
        try_files \$uri \$uri/ /index.php?\$query_string;
    }

    # 这里是关键:遇到 .php 结尾的请求,转发给 php 容器
    location ~ \.php$ {
        # fastcgi_pass 后面填的是 PHP 容器的名字:端口
        fastcgi_pass   php-container:9000;
        fastcgi_index  index.php;
        # 告诉 PHP 去哪里找文件
        fastcgi_param  SCRIPT_FILENAME  /var/www/html\$fastcgi_script_name;
        include        fastcgi_params;
    }
}

第二步:启动 PHP 容器

docker run -d \
  --name php-container \
  -v /data/web:/var/www/html \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/php:5.6.40-fpm-alpine

启动 Nginx 容器

docker run -d \
  --name nginx-test \
  -p 8081:80 \
  --link php-container:php-container \
  -v /data/web:/var/www/html \
  -v /data/web/default.conf:/etc/nginx/conf.d/default.conf \
  nginx

1. 创建存放第二个网站的目录

mkdir -p /data/site2

2. 创建一个新的测试 PHP 文件

echo "<?php echo '<h1>This is Site 2 on Port 8082</h1>'; ?>" > /data/site2/index.php

准备新站点的 Nginx 配置文件

cat > /data/site2/site2.conf <<EOF
server {
    listen       80;
    server_name  localhost;
    root   /var/www/html;
    index  index.php index.html;

    location / {
        try_files \$uri \$uri/ /index.php?\$query_string;
    }

    location ~ \.php$ {
        # 注意:这里改成了 php-site2
        fastcgi_pass   php-site2:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www/html\$fastcgi_script_name;
        include        fastcgi_params;
    }
}
EOF

启动新的 PHP 容器 (php-site2)

docker run -d \
  --name php-site2 \
  -v /data/site2:/var/www/html \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/php:5.6.40-fpm-alpine

启动新的 Nginx 容器 (nginx-site2)

  docker run -d \
  --name nginx-site2 \
  -p 8082:80 \
  --link php-site2:php-site2 \
  -v /data/site2:/var/www/html \
  -v /data/site2/site2.conf:/etc/nginx/conf.d/default.conf \
  nginx

启动 mysql

  docker run -d \
  --name mysql-server \
  -p 3306:3306 \
  -v /data/mysql:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=root \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:5.7

设置容器自动启动

docker update --restart=always nginx-test php-container mysql-server