ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Docker学习整理-安装mysql nginx php

2021-03-30 09:58:36  阅读:190  来源: 互联网

标签:容器 name nginx html mysql Docker docker fastcgi



安装docker
https://www.runoob.com/docker/centos-docker-install.html

容器的使用
https://www.runoob.com/docker/docker-container-usage.html

启动docker
sudo systemctl start docker


Docker安装一般程序的过程记录,以mysql为例

1.拉取 MySQL 镜像,最新版

docker pull mysql:latest

#也可以指定版本docker pull mysql:5.6


2.查看本地镜像
docker images


3.运行容器
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql


参数说明:

--name mysql-test  容器的名称
-p 3306:3306  映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
-e MYSQL_ROOT_PASSWORD=123456 配置参数 设置 MySQL 服务 root 用户的密码。

docker run 的 -i -t -d参数说明

OptionsMean
-i以交互模式运行容器,通常与 -t 同时使用;
-t为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-d后台运行容器,并返回容器ID;

 

4.使用 docker start 启动一个已停止的容器 
docker start b750bbbcfd88 


5.重启一个容器(最后一段是容器的name,也可以用容器id)
docker restart nginx-test9


6.删除容器
docker rm -f 1e560fca3906


7.创建一个nginx的容器
docker run --name nginx-test9 -p 8089:80 -v /home/lnmp/nginx/conf:/etc/nginx/conf.d -v /home/lnmp/nginx/www:/usr/share/nginx/html -d nginx
参数说明:
    --name nginx-test9 起别名
    -p 8089:80 端口映射,即访问电脑的8089端口会转到当前容器的80端口
-v /home/lnmp/nginx/conf:/etc/nginx/conf.d 文件夹映射 相当于把前面的文件夹“/home/lnmp/nginx/conf”替换容器内的这个文件夹“/etc/nginx/conf.d”,这个文件夹是nginx镜像创建容器之后的配置文件所在目录; /home/lnmp/nginx/www:/usr/share/nginx/html,这段是替换web目录,nginx的web目录可以通过conf目录的default.conf文件配置
-d 在后台运行
nginx 指的镜像名称

default.conf配置文件参考
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html; #这里定义默认的web目录
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           html;
        fastcgi_pass   172.17.0.4:9000; #这里指的是PHP的调用地址,前面是PHP容器的id,后面是PHP监听的端口
        fastcgi_index  index.php;
        #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name; #这里配置的是PHP的www目录,$后面的是变量,应该指的是原始的访问路径,即通过nginx的端口访问的后缀为php的文件会执行php容器的/www下面的文件
        include        fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

 

参考地址https://www.kancloud.cn/wyj0309/docker/533561
https://blog.csdn.net/a516972602/article/details/86376990/

标签:容器,name,nginx,html,mysql,Docker,docker,fastcgi
来源: https://blog.csdn.net/liuzy_perfect/article/details/115317569

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有