如果我们想用树莓派最为自己的小服务器的话,在docker出现之前,都要一个一个的安装软件,如果遇到没有arm版本,还要自己编译,可以说是非常麻烦。docker出现之后,在输煤排上管理和安装服务就简单多了。
今天我们简单介绍一下树莓派上docker的安装和简单的使用。
1.安装docker命令行
树莓派的安装只有一行命令。
curl -sSLhttps://get.docker.com | sh
2.docker更换国内的镜像仓库
因为docker默认的镜像仓库是在hub.docker.com,国内下载镜像非常慢,你也可以跳过这个步骤。我们先来配置一下国内的镜像。
https://pics3.baidu.com/feed/fc1f4134970a304ecebc8610225b6282cb175cd2.jpeg?token=48278393a9899f8130c5a5fa2c4f4722&s=58243C72CD266F201A7CACD00000E0B2
/etc/docker/daemon.json文件内容
创建并编辑daemon.json文件如上面的内容,experimental:true是另外一个坑,顺便也设置一下。除了https://registry.docker-cn.com,也可以使用http://hub-mirror.c.163.com或https://mirror.ccs.tencentyun.com
3.docker简单命令
搜索镜像docker search 镜像名例如:docker search mysql注意:很多软件在树莓派上都不能使用,如果下载下来不能使用,最好搜索rpi-xxxx,例如rpi-mysql这样的镜像使用。也可以在官网上搜索,官网地址https://hub.docker.com。列出本地安装的镜像docker images
https://pics6.baidu.com/feed/d009b3de9c82d158f9ded64b7499dcdcbd3e4200.jpeg?token=8a9b3e4408cb252a72fd50662efdb8ab&s=0AAA7223AFB1799A5E5D10CF000080B1
我树莓派的镜像
3.启动镜像
docker run -it --name nginx -d nginx
这是最简单的一个启动命令
-i和-t是跟docker容器的命令行交互有关
-d是daemon启动,如果不加,退出当前命令行容器就exit了
--name是给镜像起一个名字,便于管理
我们通常还会用到
-v 把本地的文件夹挂在到容器文件目录
--link 链接两个容易
-p 将系统的端口映射到容器的固定端口上
-P是随机使用一个端口映射
--rm 如果想在容器退出的时候删除容器,就加--rm
-e 环境变量或系统参数,例如mysql镜像的root密码是 -e MYSQL_ROOT_PASSWORD=123456
完整的命令
docker run --name nginx --link php --link mysql:mysql -p 8888:80 -v ~/Desktop/docker:/usr/share/nginx/html -v ~/Desktop/docker/conf.d:/etc/nginx/conf.d/ -d nginx
启动nginx镜像,命令容器为nginx,并且链接mysql容器和php容器,把host主机的8888端口映射到容易的80端口,把本地的docker文件夹挂载到/usr/share/nginx/html
4.其他命令
docker cp 本地文件路径 mysql:/home/ #把host主机的文件copy到镜像的目录,也可以反过来copy
docker ps -a #列出所有容器
docker inspect wordpress #查看wordpress容器启动的端口,文件存放的位置信息。
docker stop 容器名或容器id #关闭容器
docker restart 容器名或容器id #重启容器
docker start 容器名或容器id #启动容器
docker rm 容器名或容器id #删除一个已经停止的容器
docker rm -rf 容器名或容器id #停止并关闭容器
docker exec -it 容器名或容器id bash #进入控制台
docker rmi 镜像名或镜像id #删除本地镜像
5.退出容器
退出容器快捷键是 ctrl+p+q
很多人在容器内不知道怎么退出容器,为什么已退出容器,容器就停止了。
参考地址:https://baijiahao.baidu.com/s?id=1632602113114069521&wfr=spider&for=pc