推送镜像仓库
docker login
sudo docker login hub.docker.com
#输入账号密码即可登录,hub.docker.com 可以替换成自建私有仓库地址
docker build
#构建镜像
sudo docker build -t tingfengtech/test .
#使用私有仓库可以加上--build-arg DOCKER_REGISTRY="registry.private.com"
docker push
#注意加上tag
sudo docker push tingfengtech/test:latest
查看运行的容器
docker ps
#正在运行的容器
sudo docker ps
#包括已停止运行的容器
sudo docker ps -a
查看、删除镜像
docker image
#所有本地镜像
sudo docker images
#删除镜像
sudo docker image rm -f 06aaa3d83d68 #-f强制删除
sudo docker rmi -f 06aaa3d83d68 #删掉所有镜像
docker rm `docker ps -a | grep Exited | awk ‘{print $1}’` 删除异常停止的docker容器
docker rmi -f `docker images | grep ‘<none>’ | awk ‘{print $3}’` 删除名称或标签为none的镜像
运行容器
docker run
docker run -p=8000:8000 -d -ti register.xx.com/tt/test
相关参数
-it 分配tty终端以交互模式运行
–rm 运行完之后自动删除容器
-d 后台运行
-p 宿主端口:容器端口 映射端口
–name 指定容器名称
-v 挂载目录
-e 指定环境变量
清理Docker占用磁盘空间
查看docker磁盘占用
du -hs /root/docker/data/
34G /root/docker/data/
docker system df命令
类似于Linux上的df命令,用于查看Docker的磁盘使用情况
docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 91 8 14.73GB 12.58GB (85%)
Containers 8 8 1.16GB 0B (0%)
Local Volumes 77 3 14.38GB 2.219GB (15%)
Build Cache 0 0 0B 0B
docker system prune
命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。
docker system prune -a
清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了,所以使用之前一定要想清楚。
docker image prune
它支持的子命令有
-a, –all: 删除所有没有用的镜像,而不仅仅是临时文件;
-f, –force:强制删除镜像文件,无需弹出提示确认;
Others
docker history
查看镜像构建过程
docker history ubuntu:latest
IMAGE CREATED CREATED BY SIZE COMMENT
1d622ef86b13 3 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
<missing> 3 weeks ago /bin/sh -c mkdir -p /run/systemd && echo 'do… 7B
<missing> 3 weeks ago /bin/sh -c set -xe && echo '#!/bin/sh' > /… 811B
<missing> 3 weeks ago /bin/sh -c [ -z "$(apt-get indextargets)" ] 1.01MB
<missing> 3 weeks ago /bin/sh -c #(nop) ADD file:a58c8b447951f9e30… 72.8MB