Docker学习

一、docker基础及常用命令

1、container容器操作:

  docker ps  查看当前运行的容器;docker ps -a  查看所有容器;

  docker run -itd $image /bin/bash  起容器

  docker exec -it $container /bin/bash  容器切到前台执行

  docker start  $container  启动已经退出的容器

  docker start  $container

  docker rm -f  $container  删除容器,支持批量删除

  docker export $container > 容器快照名.tar  导出容器

  cat 容器快照名.tar | docker import -镜像名:tag  导入镜像

  docker logs $container  查看后台运行的容器打印的日志

2、镜像相关操作

  docker images  查看镜像

  docker build -t $container/$image .  末尾的点是dockerfile的所在路径

  docker tag 镜像ID 镜像名:新标签名  tag重命名

  docker rmi 镜像ID  镜像删除

  docker save -o 镜像名.tar 镜像名  导出镜像

  docker commit -m="has update" -a="rzz" $container 镜像名:标签名  更新镜像,即将容器打包成镜像

  docker network

3、Dockerfile

  介绍RUN指令与CMD指令:两者都是用来运行命令,区别在于运行的时间不同,RUN是构建镜像的时候就运行了,而CMD是在启动容器的时候才会运行。

4、加快docker镜像的build时间

  介绍:方法有两种 -- 第一:通过调整dockerfile文件中指令的顺序及结构来加快构建,例如使用&&将命令连接执行就比分成两行执行的快。第二种方法:使用Docker BuildKit,使用时有两种方法,一种是直接在/etc/docker/daemon.json中配置,一种是在构建的时候以类似参数的形式使用 --DOCKER_BUILDKIT=1 docker build -no-cache-t docker-class.

5、docker容器相关信息查询

  介绍:查询docker容器信息的方法阀体有三种,第一种就是进入到容器内部再进行查询;第二种就是通过docker exec container  命令(如hostname);第三种就是通过docker inspect  container 来查询;

二、docker compose

介绍:在生产环境,通常不同的服务放置在不同的docker容器内,当这些docker容器需要协同工作时,之前docker命令单独操作容器的做法就比较麻烦,docker compose提供了一个docker_compose.yml的文件,通过将容器信息配置到这个yml文件后就可以通过docker compose命令来整体调取这多个docker容器。

原文地址:https://www.cnblogs.com/zhao-zhao/p/14939498.html