专业编程基础技术教程

网站首页 > 基础教程 正文

Docker 之Windows系列(三) Docker命令整理

ccvgpt 2024-07-20 11:43:19 基础教程 8 ℃

Docker 基础命令

systemctl start docker #启动Docker服务
systemctl stop docker #关闭Docker服务
systemctl enable docker #设置服务可用,自动启动
docker version #查看版本信息
docker info      #查看详细信息
docker --help  #查看帮助信息

Docker 镜像命令

Docker 之Windows系列(三) Docker命令整理

docker images #	查看镜像列表
docker search --filter=STARS=9000 mysql #搜索 STARS >9000的 mysql 镜像
docker pull 镜像名       #拉取镜像
docker pull 镜像名:tag #拉取镜像
docker run 镜像名	      #运行镜像
docker run 镜像名:Tag #运行镜像

#EX
docker pull tomcat
docker run tomcat


docker rmi -f 镜像名/镜像ID	#删除一个镜像
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID #删除多个 其镜像ID或镜像用用空格隔开即可 
docker rmi -f $(docker images -aq)  #删除全部镜像  -a 意思为显示全部, -q 意思为只显示ID
docker image rm 镜像名称/镜像ID  #强制删除镜像
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字 #保存镜像

#EX
docker save tomcat -o /myimg.tar

docker load -i 镜像文件位置   #任何装 docker 的地方加载镜像保存文件,使其恢复为一个镜像

Docker 容器命令

docker ps     #查看正在运行容器列表
docker ps -a #查看所有容器 -----包含正在运行 和已停止的
docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash  # 运行一个容器

#EX Redis

docker pull redis:5.0.5  # 拉取redis 镜像
docker run -it -d --name redis001 redis:5.0.5 /bin/bash  #命令启动
docker stop 容器名/容器ID   #停止一个容器

docker rm -f 容器名/容器ID    #删除一个容器
docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID  #删除多个容器 空格隔开要删除的容器名或容器ID
docker rm -f $(docker ps -aq)  #删除全部容器

docker run -itd --name redis002 -p 8888:6379 redis:5.0.5 /bin/bash # 设置端口映射
docker exec -it redis001 /bin/bash  #进入 前面的 redis001容器
docker attach 容器名/容器ID   #直接进入容器的控制台进程

docker restart 容器ID/容器名   #重启容器
docker start 容器ID/容器名      #启动容器
docker kill 容器ID/容器名        #kill 容器

docker cp 容器ID/名称: 容器内路径  容器外路径 #从容器内 拷出
docker  cp 容器外路径 容器ID/名称: 容器内路径  #从外部拷贝文件到容器内

docker logs -f --tail=要查看末尾多少行 默认all 容器ID #查看容器日志

#启动容器时,使用docker run命令时 添加参数--restart=always 便表示,该容器随docker服务启动而自动启动
docker run -itd --name redis002 -p 8888:6379 --restart=always  redis:5.0.5 /bin/bash

# 运行一个docker redis 容器 进行 端口映射 两个数据卷挂载 设置开机自启动
docker run -d -p 6379:6379 --name redis505 --restart=always  -v /var/lib/redis/data/:/data -v /var/lib/redis/conf/:/usr/local/etc/redis/redis.conf  redis:5.0.5 --requirepass "password"

#不想删容器,又想让这个容器设置开机自启动,那么我们修改其启动配置即
docker  update --restart=always 容器Id 或者 容器名
#或
docker container update --restart=always 容器Id 或者 容器名

#换容器名
docker rename 容器ID/容器名 新容器名

docker commit -m="提交信息" -a="作者信息" 容器名/容器ID 提交后的镜像名:Tag #提交一个镜像

EX:
docker pull tomcat
docker run -itd -p8080:8080 --name tom tomcat /bin/bash
...我们要修改tomcat的conf文件或者webapps目录
docker commit -a="leilei" -m="第一次打包镜像,打包后直接访问还会404吗" 231f2eae6896 tom:1.0
docker run -d -it  -p6500:8080 --name lei tom:1.0 /bin/bash

Docker 运维命令

docker: write /var/lib/docker/tmp/GetImageBlob325372670: no space left on device

sudo docker info | grep "Docker Root Dir"  #查看docker工作目录
du -hs /var/lib/docker/   #查看docker磁盘占用
docker system df            #查看具体磁盘使用

docker rm `docker ps -a | grep Exited | awk '{print $1}'`   #  删除异常停止的容器
docker rmi -f  `docker images | grep '<none>' | awk '{print $3}'`  #  删除名称或标签为none的镜像
docker system prune -a  #清除所有无容器使用的镜像
find / -type f -size +100M -print0 | xargs -0 du -h | sort -nr #查找大文件
find / -type f -size +100M -print0 | xargs -0 du -h | sort -nr |grep '/var/lib/docker/overlay2/*' #查找指定目录下的大文件

Tags:

最近发表
标签列表