分类 docker 下的文章

运行中产生很多日志,可用如下方法立即删除

sudo truncate -s 0 $(sudo docker inspect --format='{{.LogPath}}' 容器id)

因为默认的wsl有时候会使用wsl1,而docker无法运行在wsl1中
需要关闭
设置 -> Resources -> WSL integration
Enable integration with my default WSL distro

这样docker会被安装在docker-desktop这个wsl中

docker service create --name app_tarot --publish 8080:8888 --replicas 3 ccr.ccs.com/test/tarot:latest

docker service update --image ccr.ccs.com/test/tarot:latest app_tarot --force

创建pod

podman pod create -n dev -p 3306:3306 -p 8080:80

容器加入

podman run -d --name phpdev --pod dev phpdev:7.3

目前docker有提供docker desctop,但是实际使用下来,wsl2不是很好控制,比较耗费资源,开发时,还是可以继续用docker toolbox,基于virtualbox,非常方便

虽然已经不开发了,会有一些小问题,但是总体上还能用

  • 下载
    https://github.com/docker-archive/toolbox/releases
  • 安装
    https://zhuanlan.zhihu.com/p/367683110
    本机环境变量里有virtualbox可以不安装
  • 初始化

    # 创建
    docker-machine create default --virtualbox-no-vtx-check
    
    # 启动
    docker-machine start
    
    # 停止
    docker-machine stop

    会创建一个docker用的虚拟机

  • 配置cmder
    设置-启动-任务
    增加一个新的任务
    任务参数可以配置一个icon,路径需要改对

     /icon "%SystemDrive%\app\DockerToolbox/docker-quickstart-terminal.ico"

    参数为,这个可以自动生成的docker快捷方式里复制过来

    bash.exe --login -i "C:\app\DockerToolbox\start.sh"

只要声明使用外部网络即可

第一个集群网络设为可以外部连接

networks:
  backend:
    # 网络可以被外部连接
    attachable: true
    driver: overlay

第二个网络设置外使用外部网络

networks:
  app_backend:
    # 使用外部网络
    external: true
注意:docker swarm会给网络加上集群名字前缀,使用外部网络时候需要全称