树莓派docker配置
之前写过docker配置,是在mac环境的,到了今天有些已经不适合了。今天再写一个基于树莓派的docker配置过程,完全基于前几天的折腾
安装启动
修改默认apt源,参考:https://mirrors.tuna.tsinghua.edu.cn/help/raspbian/
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 lsb-release software-properties-common
添加软件源的 GPG 密钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/raspbian/gpg | sudo apt-key add
添加 Docker 软件源
sudo add-apt-repository "deb [arch=armhf] https://mirrors.aliyun.com/docker-ce/linux/raspbian $(lsb_release -cs) stable"
开始安装
sudo apt-get update
sudo apt-get install docker-ce
启动
sudo systemctl enable docker
sudo systemctl start docker
建立用户组
sudo groupadd docker
sudo usermod -aG docker $USER
更换pull源
在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
重启
sudo systemctl daemon-reload
sudo systemctl restart docker
安装镜像
拉取镜像
docker pull nginx:latest
docker pull php:7.4-fpm
docker pull hypriot/rpi-mysql (树莓派64位官方mysql源不支持,只能找一个其他的)
启动镜像
docker run -p 80:80 --name nginx -v /cache:/www -v /home/pi/nginxconf:/etc/nginx/conf.d -d nginx
docker run -p 9000:9000 --name php -v /cache:/www -d php:7.4-fpm
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 hypriot/rpi-mysql
镜像操作
查看已拉取到本地的镜像
docker image ls
查看已运行的容器
docker container ls
docker ps
删除容器
docker rm -f containerid
重启容器
docker restart containerid
进入镜像
docker exec -it containerid /bin/bash
在镜像内默认没有vi编辑器,需要update才能安装
查看各容器IP地址
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
复制docker内文件到外面
sudo docker cp containerid:/etc/mysql/my.cnf /home/pi/
复制回去
sudo docker cp /home/pi/my.cnf containerid:/etc/mysql/
nginx配置文件
server{
listen 80;
server_name www;
root /www;
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log error;
location / {
index index.html index.htm index.php;
}
location ~ \.php {
root /www;
include fastcgi_params;
fastcgi_pass 172.17.0.3:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
php安装扩展
默认安装的php扩展如果不够,可以先进入docker执行
docker-php-ext-install gd mysqli
安装完毕,重启容器
使用代理pull镜像
1.创建目录:
mkdir -p /etc/systemd/system/docker.service.d
2.创建配置文件: /etc/systemd/system/docker.service.d/http-proxy.conf
3.配置文件 http-proxy.conf 填入以下内容,保存:
[Service]
Environment="HTTP_PROXY=http://localhost:1081"
Environment="HTTPS_PROXY=http://localhost:1081"
4.重新加载配置文件,重启 dockerd:
systemctl daemon-reload
systemctl restart docker
目前暂时纪录这些,以后再添加dockerfile内容