Docker 命令大全
1. docker登陆
docker login -u 用户名 -p 密码 IP地址
2. 退出登陆
docker logout
3. 查询本地仓库的所有镜像
docker images
4. 重命名镜像
docker tag 镜像id 镜像:版本号
5. 删除镜像
docker rmi 镜像id
6. 删除容器
docker rm 容器id
7. 停止容器
docker stop 容器id
8. 查询本地所有容器
docker ps
9. 查询本地所有运行的容器
docker ps -a
10. 导出容器快照
docker export 容器id > x:/xx/xx.tar
11. 导入容器快照
docker import - x:/xx/xx.tar
12. 导出镜像
docker save 镜像id > x:/xx/xx.tar
13. 导入境像
docker load < x:/xx/xx.tar
14. 容器保存为镜像
docker commit 容器名 新镜像名
15. 查看docker容器启动命令,映射目录,相关配置
docker inspect 容器名
16. 启动容器
docker run -it --name 容器名 -v 本地映射路径:镜像里映射路径 -d 镜像名:版本 /bin/sh
17. 进入容器
docker exec -it 容器id /bin/sh
退出 exit
18. 主机容器相互拷贝文件
docker cp /www/runoob 96f7f14e99ab:/www/
docker cp 96f7f14e99ab:/www /tmp/
19. docker安装启动
yum install docker
systemctl start docker (启动docker服务)
systemctl status docker (查看docker服务状态)
systemctl stop docker (停止docker服务)
systemctl restart docker (重启docker服务)
systemctl enable docker (设置开机自启)
20. Dockerfile 构建镜像
# 进入Dcokerfile文件的目录下 . 代表当前目录执行dockerfile docker build -t sentinel:v1 . # 启动镜像 容器名 镜像名:版本 docker run -d --name sentinel sentinel:v1 # 查看运行容器后 10 行日志 docker logs --tail=10 -f sentinel
21. docker容器commit之后变得非常大的原因及解决办法
先进入要打包的容器,执行以下命令对根目录下的文件打包:
tar -cvf img.tar --exclude=/proc --exclude=/sys --exclude=img.tar /
然后将打包好的文件拷贝到宿主机下随便一个目录下:
sudo docker cp 容器ID:/img.tar .
最后生成新的镜像:
cat img.tar | sudo docker import - img
原因:
原因就是直接在容器里进行了很多操作,比如apt update/install、pip install等等,而没有使用Dockerfile来构建镜像。
docker镜像的构建方式是以层的概念来实现的,在容器内所做的所有操作都会在构建镜像时运行一遍,每一个操作所涉及到的内存空间,
都会成为镜像文件的一部分。所以大家一般在容器里开发到一定阶段想要commit成镜像的时候,会发现生成的镜像会有几十G的体量,可怕。
https://blog.csdn.net/weixin_43220532/article/details/123848167