Docker日常运维操作

推送镜像仓库

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
0 0 投票数
Article Rating
订阅评论
提醒
guest
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x