删除 Docker 容器和镜像

杀死所有正在运行的容器

docker kill $(docker ps -a -q)

删除所有未运行 Docker 容器

docker rm $(docker ps -a -q)

删除所有 Docker 镜像

删除所有未打 tag 的镜像

docker rmi $(docker images -q | awk '/^<none>/ { print $3 }')

删除所有镜像

docker rmi $(docker images -q)

根据格式删除所有镜像

docker rm $(docker ps -qf status=exited)

参考资料


访问容器的方式 —— docker attach/exec

  1. 进入容器默认运行的session:

    docker attach $pid

     Usage:  docker attach [OPTIONS] CONTAINER
    	
     Attach to a running container
    	
     Options:
      --detach-keys string   Override the key sequence for detaching a container
      --help                 Print usage
      --no-stdin             Do not attach STDIN
      --sig-proxy            Proxy all received signals to the process (default true)
    
  2. 进入容器环境并运行新的命令:

    docker exec -it $pid /bin/bash // 对指定的容器执行bash

     docker exec --help
    	
     Usage:  docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
    	
     Run a command in a running container
    	
      -d, --detach         Detached mode: run command in the background
       --detach-keys        Override the key sequence for detaching a container
       --help               Print usage
       -i, --interactive    Keep STDIN open even if not attached
       --privileged         Give extended privileges to the command
       -t, --tty            Allocate a pseudo-TTY
       -u, --user           Username or UID (format: <name|uid>[:<group|gid>])
    

简单的 python http 服务器

运维人员常需要在内网环境中传输文件,除了使用scp外,还有一个比较灵活的办法就是 http 服务。而如果你在容器中临时需要传输文件进行测试,这几乎是最好的方式了。

python 中临时启动一个 http 服务也特别简单,只需要1行命令:

python -m SimpleHTTPServer

访问你服务器的 8000 端口即可。

如果需要自定义端口,则在后边添加端口参数即可,例如自定义为8080端口:

python -m SimpleHTTPServer 8080

参考资料