一、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容器。