Docker介绍及如何使用
487
类别: 
开发交流

Docker介绍及如何使用

什么是Docker?

Docker是一个开源的应用容器引擎,它让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker的优势

  1. 一致性:在开发、测试和生产环境中保持一致性。
  2. 轻量级:相比虚拟机,容器更加轻量级,占用资源更少。
  3. 快速部署:启动容器非常快,秒级启动。
  4. 易于迁移:可以在任何支持Docker的机器上运行。

如何使用Docker?

安装Docker

首先需要在你的机器上安装Docker。你可以从Docker官网下载对应操作系统的Docker版本进行安装。

基本命令

  • docker pull <image>: 拉取或更新指定镜像
  • docker run <options> <image>: 创建并启动一个容器
  • docker stop <container_id>: 停止一个运行中的容器
  • docker start <container_id>: 启动一个已停止的容器
  • docker rm <container_id>: 删除一个容器

使用Docker搭建LNMP环境

LNMP代表Linux, Nginx, MySQL, PHP,是一种常见的网站服务器架构。

步骤1: 获取Nginx, MySQL, PHP的Docker镜像

docker pull nginx
docker pull mysql
docker pull php:7.4-fpm

步骤2: 创建并运行MySQL容器

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

这里some-mysql是你给容器起的名字,my-secret-pw是设置的root密码。

步骤3: 创建并运行PHP容器

docker run --name some-php -v /path/to/your/project:/var/www/html -d php:7.4-fpm

这里/path/to/your/project是你的项目目录。

步骤4: 创建并运行Nginx容器

docker run --name some-nginx -v /path/to/your/nginx.conf:/etc/nginx/nginx.conf:ro -p 8080:80 -d nginx

这里/path/to/your/nginx.conf是你的Nginx配置文件路径,8080:80表示将容器的80端口映射到主机的8080端口。

步骤5: 配置Nginx以反向代理到PHP容器

编辑你的Nginx配置文件,添加以下内容:

server {
    listen 80;
    server_name your_domain.com;

    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        fastcgi_pass some-php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

步骤6: 重启Nginx容器使配置生效

docker restart some-nginx

现在,你应该可以通过浏览器访问http://localhost:8080来查看你的网站了。

标签:
评论 0
/ 1000
0
0
收藏