在树莓派上布置lnmp
网址:https://shumeipai.nxez.com/2020/03/21/install-pi-dashboard-with-nginx-php73-on-pi.html
错误解决办法:“Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/json: dial unix /var/run/docker.sock: connect: permission denied”
解决办法:通过将用户添加到docker用户组可以将sudo去掉,命令如下
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $USER docker#将登陆用户加入到docker用户组中
newgrp docker #更新用户组
一、docker安装
https://www.cnblogs.com/mq0036/p/13230906.html
二、
$ docker ps // 查看所有正在运行容器
$ docker stop containerId // containerId 是容器的ID
$ docker ps -a // 查看所有容器 $ docker ps -a -q // 查看所有容器ID
$ docker stop $(docker ps -a -q) // stop停止所有容器
$ docker rm $(docker ps -a -q) // remove删除所有容器
docker rmi -f $(docker images -qa) 删除所有镜像
三、卸载docker
1. 删除某软件,及其安装时自动安装的所有包
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc
2. 删除docker其他没有没有卸载
dpkg -l | grep docker
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P # 删除无用的相关的配置文件
# 查询相关软件包 dpkg -l | grep docker # 删除这个包 sudo apt remove --purge docker.io 卸载docker
四、安装容器
1、安装数据库
(1)docker run -d -p 3306:3306 --restart always -e MYSQL_PASSWORD_ROOT=qq123456 --privileged=true --name mysql mariadb:10.5.9
(2)docker run -d -p 3306:3306 --restart always --privileged=true -e MYSQL_ROOT_PASSWORD=qq121857425 --name mysql pili99/mariadb10.5.9:1.0 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
说明: -d 允许后台运行 --restart always 容器和docker一起启动
2、安装PHP
docker run -d -p 9000:9000 --restart always --privileged=true -v /lnmp/php:/usr/local/etc/conf.d/ -v /lnmp/www/html:/var/www/html --link mysql:mysql --name php pili99/php8.0.3:1.0
说明: -v 实际目录:容器目录 --link 容器名字:别名
3、安装nginx
docker run -d -p 80:80 --restart always --privileged=true -v /lnmp/nginx/:/etc/nginx/conf.d/ -v /lnmp/www/html:/usr/share/nginx/html --link php:php --name nginx pili99/nginx1.18:1.0
4、进入容器
docker exec -it nginx /bin/bash
nginx -s reload 重启nginx
5、安装code-server
docker run -it -d -p 8080:8080 --restart always --privileged=true -v /lnmp/code:/home/coder/.config/code-server -v /:/lnmp --name code codercom/code-server
-v /:/home/coder/raspi 把主机整个系统映射到docker的code-server里面/home/coder/raspi 中,无法安装去掉第一个-v参数
如果无法运行,请删除-v /lnmp/code:/home/coder/.config/code-server
-p 外网端口(主机): 内网端口(docker容器) -v 外网目录(主机):内网目录(docker容器)
5.1、Docker安装code-server
docker run --restart always -d -it --name code-server -p 0.0.0.0:8080:8080 \
-v "$HOME/.config:/home/coder/.config" \
-v "$PWD:/home/coder/project" \
-v "/lnmp/www/html:/lnmp \
-u "$(id -u):$(id -g)" \
-e "DOCKER_USER=$USER" \
codercom/code-server:latest
五、配置nginx
location ~ \.php$ {
root /usr/local/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;
#以下方式也可以
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
六、解除端口占用
6.1找出占用端口进程的pid
sudo lsof -i:port
6.2 终止进程
sudo kill -9 pid
七、安装centos7
docker run -d -p 8080:8080 --privileged=true -v /lnmp/www/html:/www --name cs centos:7
安装centos
docker run -d -p 8384:8384 -itd --restart always --privileged=true -v /lnmp:/lnmp --name centos centos
八、查找安装的软件
dpkg -l | grep google
查找安装的谷歌软件