docker常用操作备忘

时间:2021-12-30 17:37:14

一、docker安装

参考资料:阿里云镜像加速
1. 安装/升级Docker客户端

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

2. 配置镜像加速器

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://wn8y8b1w.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

二、docker日志查看和操作

参考资料

1.日志查看

docker logs -f -t --since="2017-05-31" --tail= edu_web_1

--since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。
-f : 查看实时日志
-t : 查看日志产生的日期
-tail= : 查看最后的10条日志。
edu_web_1 : 容器名称

2、删除日志
cat /dev/null > *-json.log
也可以通过rm删除后重启docker

3、设置日志文件大小

sudo /etc/docker/daemon.json

"log-driver":"json-file",
"log-opts":{ "max-size" :"100m","max-file":"1"}

添加上面两行设置
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json
注意:只对新建的容器有效

然后重启容器

sudo systemctl daemon-reload
sudo systemctl restart docker

 4、使用tail方式查看日志

sudo docker logs -f -t --tail 行数 容器名

三、非root用户加入docker组

sudo groupadd docker #docker组可能已经存在
sudo usermod -aG docker xufangbo
sudo systemctl restart docker
newgrp - docker

 四、WIN10的WSL下使用docker

我使用本文开始的阿里云的脚本docker安装,遇到一些问题

问题描述

docker version命令正常,docker search mysql命令会出现下面的错误,实际上执行任何docker相关的命令都会出现这个错误信息

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

如果使用systemctl 命令

$ sudo systemctl start docker
System has not been booted with systemd as init system (PID ). Can't operate.

解决方式

1.用administrator命令打开ubuntu

2.使用sudo service docker start启动docker,而不是sudo systemctl start docker命令

在使用上面两个方法后,执行docker search没有问题,但是执行docker run的时候还是有错误,不知道怎么解决了

docker: Error response from daemon: OCI runtime create failed: container_linux.go:: starting container process caused "process_linux.go:319: getting the final child's pid from pipe caused \"EOF\"": unknown.
ERRO[] error waiting for container: context canceled