Docker介绍及如何使用
Docker介绍及如何使用
什么是Docker?
Docker是一个开源的应用容器引擎,它让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker的优势
- 一致性:在开发、测试和生产环境中保持一致性。
- 轻量级:相比虚拟机,容器更加轻量级,占用资源更少。
- 快速部署:启动容器非常快,秒级启动。
- 易于迁移:可以在任何支持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
来查看你的网站了。