目录

Docker 命令

安装

树莓派上安装 docker 1)

安装说明书 谷歌推荐 树莓派上安装 Docker

install docker on ubuntu / apt-get install docker-compose

删除

download

dpkg -l | grep -i docker // 找到所有的包
sudo apt-get purge -y docker-compose docker docker.io python3-docker python3-dockerpty 
sudo apt-get autoremove -y --purge docker-compose docker docker.io python3-docker python3-dockerpty 

启动/停止服务

systemctl start docker
systemctl stop docker
systemctl status docker
systemctl restart docker
systemctl enable docker
docker version

如果发现错误,尝试重新加载守护进程

sudo systemctl daemon-reload
sudo systemctl restart docker

或者依赖服务

sudo systemctl status containerd
sudo systemctl start containerd

针对容器的命令

docker ps -as // 查看容器在线状态及大小
// 容器 freenom
docker logs freenom // 查看freenom容器的运行输出日志
docker restart freenom
docker stop freenom
docker rm -f freenom
docker stats --no-stream // 查看 docker 容器占用 CPU,内存等信息
// 容器已经运行后,更新容器让其自动启动
docker update --restart=always 《container name》

端口映射

docker port container_ID # 查看容器ID端口映射
// 以上指令会将容器的80端口映射到宿主机的8000端口上。
docker run -p 8000:80 -it ubuntu /bin/bash

download

// 停止所有容器
docker stop $(docker ps -a -q)
// 删除所有容器
docker rm $(docker ps -a -q)
// 删除缓存镜像
docker system prune --volumes

运行容器

查看容器 docker container ls -a

进入容器命令(容器nginx) docker exec -it nginx bash (配置nginx)

例如:nginx

  1. 使用docker 下载nginx 镜像 docker pull nginx
  2. 启动nginx
  3. docker run –name nginx -p 80:80 -d nginx

清理容器

清理docker的问题 docker容器优化清理

1. 使用df -l 命令查看本地文件系统,可以看到大量磁盘空间被docker容器的日志占用。使用docker system df命令,类似于Linux上的df命令,用于查看Docker的磁盘使用情况:docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。docker system prune -a命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了。

对于悬空镜像和未使用镜像可以使用手动进行个别删除:

  1. 删除所有悬空镜像,不删除未使用镜像:docker rmi $(docker images -f “dangling=true” -q)
  2. 删除所有未使用镜像和悬空镜像 docker rmi $(docker images -q)
  3. 清理卷。如果卷占用空间过高,可以清除一些不使用的卷,包括一些未被任何容器调用的卷(-v 详细信息中若显示 LINKS = 0,则是未被调用):
    1. 删除所有未被容器引用的卷:docker volume rm $(docker volume ls -qf dangling=true)
  4. 容器清理。如果发现是容器占用过高的空间,可以手动删除一些:
    1. 删除所有已退出的容器:docker rm -v $(docker ps -aq -f status=exited)
    2. 删除所有状态为dead的容器docker rm -v $(docker ps -aq -f status=dead)

2. 查看docker各个容器的日志空间占用

ls -lh $(find /var/lib/docker/containers/ -name *-json.log)

cleandocker.sh

!/bin/sh 
echo "======== start clean docker containers logs ========"  
logs=$(find /var/lib/docker/containers/ -name *-json.log)  
for log in $logs  
        do  
                echo "clean logs : $log"  
                cat /dev/null > $log  
        done  

echo "======== end clean docker containers logs ========"  

或者修改设置,限制日志的大小。修改完重启 systemctl restart docker

cat > /etc/docker/daemon.json <<EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}
EOF

3. 查看docker各个容器内存使用情况:docker stats

修改config

停止运行的容器

docker stop <容器名或ID>

修改配置文件

docker exec -it <容器ID> <编辑器> <路径>
docker exec -it h5ai vim /config/path
docker exec -it h5ai /bin/bash

最后启动容器

docker start <ID>

Apps

Portainer

docker run -d -p 8000:8000 -p 9443:9443 --name portainer \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    portainer/portainer-ce:2.9.3

Wordpress

参考文章

1. 准备数据库,创建一个空的数据库 wordpress 就好了。不需要创建管理员用户。因为安装的时候给出root用户

152.70.59.87

2. 准备镜像和volume

docker pull wordpress:latest
mkdir /root/wordpress

3. 运行安装

docker run -d --name wordpress \
-e TZ=Europe/Berlin \
-e WORDPRESS_DB_HOST=152.70.59.87:3306 \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_PASSWORD="s#;zb_OfJW]P" \
-e WORDPRESS_DB_NAME=wordpress \
-p 8080:80 \
--restart=always \
wordpress

4. 完成后打开地址 http://152.70.59.87:8080 可以进行初始化设置。Nginx 服务器端口转发以后,需要进入后台管理 http://152.70.59.87:8080/wp-admin “设置 → 常规 → wordpress 地址” 和 “站点地址” 改为为它配置的域名 https://blog.simperator.eu.org

ngnix

Aria2 + AriaNG

在docker中使用Aria2、AriaNG和FileRun实现完美下载 / Docker安装aria2

aria2 安装

docker run -d \
--name aria2 \
--restart unless-stopped \
--log-opt max-size=1m \
-e PUID=1000 \
-e PGID=1000 \
-e UMASK_SET=022 \
-e RPC_SECRET=123456 \
-e RPC_PORT=6800 \
-e LISTEN_PORT=6888 \
-p 16800:6800 \
-p 16888:6888 \
-p 16888:6888/udp \
-v /mnt/hdisk/docker/aria2/config:/config \
-v /mnt/onedrive/data:/downloads \
p3terx/aria2-pro

安装AriaNG,然后在浏览器打开 http://192.168.0.159:6800

docker run -d \
--name ariang \
--log-opt max-size=1m \
--restart unless-stopped \
-p 6880:6880 \
p3terx/ariang

noVNC

noVNC 安装 脚本

创建 volume 映射 /root/desktop (oracle 1GB 内存的vps根本跑不起来)

docker-compose.yml