0%

docker 笔记

容器操作

  1. docker ps -> 运行着的容器
  2. docker ps -a -> 所有容器包括停止的
  3. docker run
    [-d#后台运行#]
    [–name=<容器名称>]
    [-rm#停止后清理容器#]
    [-p #打开端口<3000/tcp|4000/udp>#]
    [-e <环境变量>]
    <镜像名称>:v<镜像版本>
  4. docker exec [-it#进行交互#] <容器ID> <shell命令行> -> 执行容器内shell命令
  5. docker attach <容器ID> -> 不建议用,附加到容器shell
  6. docker start|stop|restart <容器ID> -> 启动,停止,重启容器
  7. docker rm $(docker ps -a|grep Created|awk ‘{print $1}’) -> 删除启动失败的容器

镜像操作

  1. docker commit [-a “作者名称”] [-m “信息说明”] <容器ID> <镜像名称>:v<镜像版本> -> 将容器提交成镜像
  2. docker images -> 查看当前所有镜像
  3. docker save -o <镜像名称>-v<镜像版本>.tar <镜像名称>:v<镜像版本> -> 打包镜像为tar压缩格式
  4. docker load -i <镜像名称>-v<镜像版本>.tar -> 解压缩镜像tar并导入
  5. docker system df -v -> 查看镜像占用磁盘
  6. docker export -o <镜像名称>.tar <容器ID> -> 直接从容器导出镜像,避免多次commit后镜像的越来越大
  7. docker import <通过export导出的tar文件> <镜像名称>:v<镜像版本> -> 通过export 导出的镜像必须通过import导入

其他命令

  1. docker system prune –volumes -> save失败后可以清理缓存
  2. docker system prune -a -> 那条上面不管用可以用这条全部清理,镜像和容器都会丢失
  3. dockerd –iptables=false -> 在wsl下运行会报错,使用这个禁止防火墙

ubuntu20.4安装docker

  1. apt-get install ca-certificates curl gnupg lsb-release
  2. mkdir -p /etc/apt/keyrings
  3. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /etc/apt/keyrings/docker.gpg
  4. echo “deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  5. apt-get update
  6. apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin