Last active
September 16, 2024 03:29
-
-
Save jingmian/2f4fa780427fa8e5bd60af63fd7075c1 to your computer and use it in GitHub Desktop.
docker安装Lnmp
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
COPY ./sources.list.jessie /etc/apt/sources.list | |
deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free | |
deb-src http://mirrors.ustc.edu.cn/debian stable main contrib non-free | |
deb http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free | |
deb-src http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free | |
//安装docker | |
sudo apt-get remove docker docker-engine docker.io | |
sudo apt-get install \ | |
apt-transport-https \ | |
ca-certificates \ | |
curl \ | |
software-properties-common | |
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add - | |
sudo add-apt-repository \ | |
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \ | |
$(lsb_release -cs) \ | |
stable" | |
sudo apt-get update | |
sudo apt-get install docker-ce | |
docker -v | |
sudo docker info #查看docker信息 | |
//如果还没有 docker组 就添加一个: | |
sudo groupadd docker | |
//然后把当前用户加到docker用户组里面: | |
sudo gpasswd -a ${USER} docker #或者sudo gpasswd -a $USER docker | |
sudo service docker restart | |
//切换当前会话到新 group 或者重启 X 会话 | |
newgrp - docker | |
//安装docker-compose,管理docker | |
sudo wget -c https://github.com/docker/compose/releases/download/1.22.0/docker-compose-Linux-x86_64 | |
sudo mv docker-compose-Linux-x86_64 /usr/bin/docker-compose | |
sudo chmod +x /usr/bin/docker-compose | |
docker-compose -v | |
# docker-compose version 1.22.0, build 1719ceb | |
#####删除docker | |
sudo apt-get purge docker-ce | |
// 卸载Docker EE | |
sudo apt-get purge docker-ee | |
// 删除Docker镜像、容器、数据卷等文件 | |
sudo rm -rf /var/lib/docker | |
// 查询相关软件包 | |
dpkg -l | grep docker | |
// 删除这个包 | |
sudo apt remove --purge docker.io | |
# 安装brctl | |
apt-get install bridge-utils | |
# 停止docker服务 | |
systemctl stop docker | |
# 重建 docker 网络 | |
ifconfig docker0 down | |
brctl delbr docker0 | |
# 重启docker服务 | |
systemctl start docker | |
//启动 | |
systemctl start docker | |
守护进程重启 | |
systemctl daemon-reload | |
重启docker服务 | |
systemctl restart docker / service docker restart | |
###################lnmp-php56版本 | |
docker pull imagine10255/centos6-lnmp-php56 | |
docker run -dit -p808:80 -v ~/test:/home/website/default imagine10255/centos6-lnmp-php56 #-dit守候进程启动,./test目录映射到default | |
docker ps -a | |
docker stop 761541dd6e84 | |
docker rm 761541dd6e84 | |
docker images #查看镜像 | |
################### | |
####lnmp多版本切换,php54 php52 php72 | |
git clone https://github.com/yeszao/dnmp | |
cd dnmp | |
docker-compose up | |
//默认密码root 123456 | |
├── docker-compose.yml 容器启动配置文件 | |
├── Dockerfile PHP-FPM构建配置文件 | |
├── conf 配置目录 | |
│ ├── mysql MySQL配置文件目录 | |
│ │ └── my.cnf MySQL配置文件 | |
│ ├── nginx Nginx配置文件目录 | |
│ │ ├── conf.d 站点配置文件目录 | |
│ │ │ ├── certs SSL认证文件、密钥和加密文件目录 | |
│ │ │ │ └── site2 站点2的认证文件目录 | |
│ │ │ ├── site1.conf 站点1 Nginx配置文件 #fastcgi_pass php72:9000;这里修改版本 | |
│ │ │ └── site2.conf 站点2 Nginx配置文件 #fastcgi_pass php54:9000;这里修改版本 | |
│ │ └── nginx.conf Nginx通用配置文件 | |
│ └── php PHP配置目录 | |
│ ├── php-fpm.d PHP-FPM配置目录 | |
│ │ └── www.conf PHP-FPM配置文件 | |
│ └── php.ini PHP配置文件 | |
├── log 日志目录 | |
│ ├── mysql MySQL日志目录 | |
│ ├── nginx Nginx日志目录 | |
│ └── php-fpm PHP-FPM日志目录 | |
├── mysql MySQL数据文件目录 | |
└── www 站点根目录 | |
├── site1 站点1根目录 #代码 | |
└── site2 站点2根目录 | |
docker-compose.yml #nginx: ports: 81:80 那么浏览器访问需要127.0.1:81访问,其他同理 | |
volumes: | |
- ./www/:/var/www/html/:rw #(映射关系)第一段是本机的路径,第二个是容器真实路径 ,第三权限 | |
- ./conf/php.ini:/usr/local/etc/php/php.ini:ro #(映射关系)第一段是本机的路径,第二个是容器真实路径 ,第三权限 | |
- ./conf/php-fpm.conf:/usr/local/etc/php-fpm.d/www.conf:rw #(映射关系)第一段是本机的路径,第二个是容器真实路径 ,第三权限 | |
- ./log/:/var/log/dnmp/:rw #(映射关系)第一段是本机的路径,第二个是容器真实路径 ,第三权限 | |
docker-compose stop | |
docker-compose up #这个更新配置,并启动 | |
///注意,php代码连接数据库不能使用IP或者locathost,要用mysql容器的ID,必须是mysql容器ID | |
$mysqli = new \mysqli("da7b95fe64c9", "root", "root"); | |
//navicat 连接 docket | |
在软件里面主机要写容器的IP,端口写 ports: 3307:3306 前面的3307 | |
//容器编译msyql扩展 | |
cd /usr/local/bin | |
./docker-php-ext-install mysql | |
php -m 检查是否安装完成 | |
//保存修改后的镜像 | |
[zzq@weekend110 ~]$ docker ps | |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | |
96621f37028c 0ef2e08ed3fa "/bin/bash" 3 minutes ago Up 3 minutes thirsty_torvalds | |
[zzq@weekend110 ~]$ docker commit 96621f37028c 0ef2e08ed3fa | |
sha256:919694de9dda0f070de8839284e0a3b8f03e9bf88207111e144986d3aaefb2a9 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment