初识 docker

发布于 / 1年前 - 更新于 / 1年前


安装

镜像加速

阿里云镜像

先来波使用命令记录

// 创建ubuntu:18.04镜像 docker pull ubuntu:18.04 // 查看所有镜像 docker images // 查看ubuntu镜像 docker images ubuntu // 删除所有镜像 docker rmi $(docker images -q) // 运行启动并进入容器 docker run -it ubuntu:18.04 /bin/base // 查看所有启动容器 docker ps -a // 进入指定容器,docker ps 查询容器的 CONTAINER ID docker exec -it 容器id /bin/bash docker stop 容器id // 停止指定容器 docker stop $(docker ps -a -q) // 停止所有容器 docker rm $(docker ps -aq) // 删除所有容器 // 查询启动容器内网IP地址,如下是查询php容器IP地址 docker inspect myphpfpm --format='{{.NetworkSettings.IPAddress}}' // 复制本地文件到容器,反之亦然 docker cp D:\docker\conf.d\web.conf mynginx:/etc/nginx/conf.d // 宿主机执行容器命令,如下返回mynginx容器 下运行nginx -v 结果 docker exec mynginx nginx -v

配置 nginx + php + mysql

首先安装所需镜像

// nginx docker pull nginx // php docker pull bitnami/php-fpm // mysql

配置 nginx

// 构建并启动nginx容器 docker run --name mynginx -d -p 80:80 -v D:\docker\www:/usr/share/nginx/html nginx

编辑配置文件 D:\docker\conf\nginx\web.conf

server { listen 80; server_name docker.me; location / { root /usr/share/nginx/html; index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { root /var/www/html/; # 这里对应配置phpfpm容器中的文件 fastcgi_pass 172.17.0.2:9000; # 这里ip为phpfpm容器的ip fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } }

配置phpfpm

// 构建并启动phpfpm docker run -p 9000:9000 --name myphp -v D:\docker\www:/var/www/html -d bitnami/php-fpm // 查看phpfpm容器ip,nginx配置需要用到 docker inspect myphp --format='{{.NetworkSettings.IPAddress}}'

nginx解析php

配置host文件映射docker.me到本机

// 复制 `D:\docker\conf\nginx\web.conf` 到nginx配置文件 docker cp D:\docker\conf\nginx\web.conf mynginx:/etc/nginx/conf.d // 重启 nginx docker restart mynginx

编辑文件 D:\docker\www\html\info.php

<?php echo phpinfo(); ?>

浏览器中输 入http://docker.me/info.php
image.png

配置mysql

// 构建并启动mysql docker run -p 9000:9000 --name myphp -v D:\docker\www:/var/www/html -d bitnami/php-fpm
// --name 容器名称,自定义方便自己记忆就好 // -d 后台运行 // -p 端口映射 宿主机81->容器80端口 // -v 文件夹挂载 宿主机D:\docker\www 同步到 容器/usr/share/nginx/html docker run --name mynginx -d -p 81:80 -v D:\docker\www:/usr/share/nginx/html nginx

本作品采用《CC 协议》,转载必须注明作者和本文链接