警告
本文最后更新于 2021-05-23,文中内容可能已过时。
如下是详细错误内容,我猜你的跟我的应该一毛一样:
$ docker-compose up
ERROR: Couldn’t connect to Docker daemon at http+docker://localunixsocket - is it running?
If it’s at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
导致这个问题的原因实在多,所以把解决方法一一列出。
- docker服务没启动,那就启动
1
2
|
$ sudo systemctl start docker // 或者 sudo service docker start
$ docker-compose up
|
- docker服务启动了,但是一些缓存影响了,那就重启
1
2
|
$ sudo systemctl restart docker // 或者 sudo service docker restart
$ docker-compose up
|
- 当前用户不在docker用户组
那就把自己加到docker用户组
1
2
|
$ sudo gpasswd -a ${USER} docker
$ docker-compose up
|
添加到docker用户组后要重新登录shell再up。
- 也许用sudo可能有效
1
|
$ sudo docker-compose up
|
- docker-compose版本太老了
那就更新版本
1
2
3
|
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ docker-compose up
|
- 重启系统吧
1
2
|
$ sudo reboot
$ docker-compose up
|
https://www.awaimai.com/2587.html
列出所有容器ID
查看所有运行或者不运行容器
停止所有的container(容器),这样才能够删除其中的images:
1
|
docker stop $(docker ps -a -q) 或者 docker stop $(docker ps -aq)
|
如果想要删除所有container(容器)的话再加一个指令:
1
|
docker rm $(docker ps -a -q) 或者 docker rm $(docker ps -aq)
|
查看当前有些什么images
删除images(镜像),通过image的id来指定删除谁
想要删除untagged images,也就是那些id为的image的话可以用
1
|
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
|
要删除全部image(镜像)的话
1
|
docker rmi $(docker images -q)
|
强制删除全部image的话
1
|
docker rmi -f $(docker images -q)
|
从容器到宿主机复制
1
2
|
docker cp tomcat:/webapps/js/text.js /home/admin
docker cp 容器名: 容器路径 宿主机路径
|
从宿主机到容器复制
1
2
|
docker cp /home/admin/text.js tomcat:/webapps/js
docker cp 宿主路径中文件 容器名 容器路径
|
删除所有停止的容器
删除所有不使用的镜像
1
|
docker image prune --force --all或者docker image prune -f -a
|
停止、启动、杀死、重启一个容器
1
2
3
4
|
docker stop Name或者ID
docker start Name或者ID
docker kill Name或者ID
docker restart name或者ID
|
docker进入容器,查看配置文件
1
2
3
4
5
|
docker exec :在运行的容器中执行命令
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN(标准输入) 打开,以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
docker exec -it f94d2c317477 /bin/bash
|
出现root@f94d2c317477:/usr/share/elasticsearch/config# vi elasticsearch.yml
bash: vi: command not found
1
|
apt-get update && apt-get install vim -y
|
修改配置、退出容器
1
2
3
4
|
1、如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器
2、如果使用exit退出,那么在退出之后会关闭容器,可以使用下面的流程进行恢复
使用docker restart命令重启容器
使用docker attach命令进入容器
|
docker启动命令,docker重启命令,docker关闭命令
1
2
3
4
5
6
7
8
9
10
11
|
启动 systemctl start docker
守护进程重启 sudo systemctl daemon-reload
重启docker服务 systemctl restart docker
重启docker服务 sudo service docker restart
关闭docker service docker stop
关闭docker systemctl stop docker
|