切换导航
新动弹计划
搜索
文章
动弹
排行榜
登录
注册
搜索 “#docker” ,共找到 12 项结果
×
搜索
文章
动弹
热门关键词
#daily tips#
Cursor
掌控习惯
ChatGPT
Laravel
读书
#稍后阅读#
Falcon
09-20 16:38
冒泡
#docker#
docker volume
移除卷数据
先docker compose down停止项目
列出卷
docker volume ls
找到你项目的卷名
docker volume rm your_project_name_dbdata
如果要移除所有未使用的卷,
docker volume prune
这会提示您确认删除所有未使用的 volumes。
0 赞
暂无评论
查看
Falcon
01-06 17:08
冒泡
#docker#
使用以下命令查看正在运行的容器的启动命令:
```bash
docker inspect --format '{{.Config.Cmd}}' <容器ID或容器名称>
```
将 `<容器ID或容器名称>` 替换为你要查看的容器的实际ID或名称。这将显示容器启动时使用的命令。
0 赞
暂无评论
查看
Falcon
2023-05-07 21:46
冒泡
#docker#
#docker desktop#
当年在macOS的docker 容器中用docker.for.mac.host连接主机已经不再支持,比如这条动弹的信息已经过期:
https://d.cellmean.com/p/20224773
新版的docker desktop使用的宿主主机名为:docker.for.mac.host.internal 或者host.docker.internal ,所以,如果你想要mac内的容器使用宿主机的代理,比如http代理端口为8088 ,那么可以这样写
http://host.docker.internal:8088
,使用curl测试:
docker run -it --rm -e http_proxy=
http://host.docker.internal:8088
curlimages/curl cip.cc
参考:
https://bernieslearnings.com/easy-way-to-connect-docker-to-localhost/
> 要将Docker连接到本地主机,在运行Docker for Windows或Docker for Mac时,您可以使用特殊的DNS名称host.docker.internal,它解析为宿主机使用的内部IP地址。
在容器内部,要访问宿主机主机,您只需将请求指向
http://host.docker.internal:<port>。
这在Docker Desktop 之外的生产环境中将不起作用,因此只在开发环境中使用。
对于Linux用户,只需使用带有--network="host"选项的docker run命令,并使用127.0.0.1指向您的本地主机。
0 赞
暂无评论
查看
Falcon
2022-11-05 17:09
冒泡
#docker#
在github上看ols-docker-env的commit , 原来 docker-compose 被批量替换成了docker compose 。我记得以前docker-compose需要作为一个单独的应用安装在 /usr/bin/docker-compose 上,我猜想可能在某个版本后的docker可以以插件的形式安装 docker-compose,作为 docker命令的一部分,其地位相当于docker run / docker exec被整合了。这是在ubuntu下安装成插件的方式:
sudo apt-get update
sudo apt-get install docker-compose-plugin
参考:
https://docs.docker.com/compose/install/linux/#install-using-the-repository
0 赞
暂无评论
查看
Falcon
2022-11-04 18:10
冒泡
#docker#
docker stats 命令查看docker 容器的资源占用
0 赞
暂无评论
查看
Falcon
2022-06-29 18:41
冒泡
#docker#
Docker Volumn 挂载点
- 容器共享卷(挂载点)
docker run --name test1 -it myimage /bin/bash
上面命令中的 myimage是用前面的dockerfile文件构建的镜像。 这样容器test1就有了 /data1 和 /data2两个挂载点。
下面我们创建另一个容器可以和test1共享 /data1 和 /data2卷 ,这是在 docker run中使用 --volumes-from标记,如:
可以是来源不同镜像,如:
docker run --name test2 -it --volumes-from test1 ubuntu /bin/bash
也可以是同一镜像,如:
docker run --name test3 -it --volumes-from test1 myimage /bin/bash
上面的三个容器 test1 , test2 , test3 均有 /data1 和 /data2 两个目录,且目录中内容是共享的,任何一个容器修改了内容,别的容器都能获取到。
- 最佳实践:数据容器
如果多个容器需要共享数据(如持久化数据库、配置文件或者数据文件等),可以考虑创建一个特定的数据容器,该容器有1个或多个卷。
其它容器通过--volumes-from 来共享这个数据容器的卷。
因为容器的卷本质上对应主机上的目录,所以这个数据容器也不需要启动。
如: docker run --name dbdata myimage echo "data container"
ref :
https://www.cnblogs.com/51kata/p/5266626.html
0 赞
暂无评论
查看
Falcon
2022-05-30 18:11
冒泡
#daily tips#
#docker#
注意:ufw 的防火墙规则对 docker 映射的端口不生效,当容器使用 -p 参数时,Docker会直接修改iptables 能将端口暴露到外面, 并且运行ufw status不能看到这种变更。
解决的方法:
1. 停止使用 -p 参数,使用 docker link 或 docker networks代替。
2. 让容器只监听 localhost 网卡,这样不会把端口暴露到外面,如:docker run -p 127.0.0.1:8080:8080 ...
3. 如果一定要使用 -p 参数,可以禁止docker 修改iptables ,防止它将端口暴露在外面,可以向 /etc/docker/daemon.json 加入 { "iptables" : false } 并重启docker。(注意,这有一定的副作用,不推荐使用这种方式)
参考:
https://askubuntu.com/questions/652556/uncomplicated-firewall-ufw-is-not-blocking-anything-when-using-docker
https://askubuntu.com/a/652572
https://chjdev.com/2016/06/08/docker-ufw/
https://docs.docker.com/config/containers/container-networking/
0 赞
暂无评论
查看
Falcon
2022-03-26 23:02
冒泡
#docker#
解决:Error response from daemon: OCI runtime create failed: runc did not terminate sucessfully: unknown.
调试方法:
1. systemctl stop docker (在openwrt用service dockerd stop)
2. dockerd --debug (以debug模式运行dockerd)
3. docker start container_name (运行docker 容器)
最后我发现是/var/run空间不足
0 赞
暂无评论
查看
Falcon
2022-02-24 16:18
冒泡
#docker#
查看已启动docker容器的run命令:docker exec -it 容器名称 ash -c "ps -fe" ,第一个进程就是,ash是容器用的shell,有可能是bash或其他。
0 赞
暂无评论
查看
Falcon
2022-02-24 15:23
冒泡
#docker#
修改docker默认的存储位置(包括镜像和容器的等的位置)
首先,查看当前docker存储位置: `docker info |grep -i 'docker root dir'` ;
其次,停止所有docker容器 `docker stop $(docker ps -a | awk '{print $1}'| tail -n +2) `,systemctl或service停止docker服务;把第一步的docker存储目录打包到某个位置,比如(/usr/docker.tar.gz) : `tar -czvf /usr/docker.tar.gz docker/` ,或者参考
https://d.cellmean.com/p/6ab162d573c9
用rsync复制到另一个位置,可以保留权限。
最后编辑 /etc/docker/daemon.json ,修改 `data-root` 项的值为新目录。
0 赞
暂无评论
查看
1
2