Skip to content

Instantly share code, notes, and snippets.

@jingmian
Last active September 16, 2024 03:29
Show Gist options
  • Save jingmian/2f4fa780427fa8e5bd60af63fd7075c1 to your computer and use it in GitHub Desktop.
Save jingmian/2f4fa780427fa8e5bd60af63fd7075c1 to your computer and use it in GitHub Desktop.
docker安装Lnmp
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