Docker常用命令

帮助启动类命令

systemctl start  docker #启动docker
systemctl stop docker  #停止docker
systemctl restart docker  #重启docker
systemctl status docker   #查看docker状态
systemctl enable docker  #开机启动
docker  info  #查看docker概要信息
docker --help #查看docker总体帮助文档
docker 具体命令 --help  #查看docker命令帮助文档

镜像命令

  • 列出本地主机上的镜像:docker images

 

 

##options说明:
	-a  #列出本地所有的镜像(含历史镜像层)
	-q  #只显示镜像ID

  

  •  docker search 某个XX镜像名字
#网站:https://hub.docker.com
#命令:
	docker search [options] 镜像名字  #docker search redis
	options说明:
		--limit :只列出N个镜像,默认25个
		docker search --limit 5 redis

  

 

  •  docker pull 某个xxx镜像名字

 

docker pull #镜像名字:[TAG]
#没有TAG就是最新版  等价于:docker pull 镜像名字:latest

 

 

  

 

  •  docker system df 查看镜像/容器/数据卷所占的空间

 

 

 

 

 

 

  • 删除镜像 

 

docker rmi -f 镜像ID  #删除单个
docker rmi -f 镜像名1:TAG 镜像名2:TAG  #删除多个
docker rmi -f ${docker images -qa}  #删除全部

 

容器命令

  • 有镜像才能创建容器,这是根本前提

 

 

 

docker pull centos
docker pull ubuntu

 

  • 新建+启动容器
docker run [options] IMAGE [command][ARG]
	#options说明(常用):有些是一个减号,有些是两个减号
		--name="容器新名字"  为容器指定一个名称
		-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行)
		-i:以交互式运行容器,通常与-t同时使用
		-t:为容器重新分配一个伪输入终端,通常与-i同时使用;也即启动交互式容器(前台有伪终端,等待交互)
		-P:随机端口映射,大写P
		-p:指定端口映射,小写p
	#启动交互式容器(前台命令行)
		docker run -it centos /bin/bash

  

 

 

  • 列出当前所有正在运行的容器
docker ps [options] 
	#options说明:
		-a #列出当前所有正在运行的容器+历史上运行过的
		-l #显示最近创建的容器
		-n #显示最近n个创建的容器
		-q #静默模式,只显示容器编号
  • 退出容器
exit #run进去容器 exit退出 容器停止
ctrl+p+q  #run进去容器 ctrl+p+q退出,容器不停止
  • 容器启停
docker start 容器ID或者容器名	#启动已停止运行的容器
docker restart 容器ID或者容器名 #重启容器
docker stop 容器ID或者容器名  #停止容器
docker kill 容器ID或者容器名  #强制停止容器
docker rm 容器ID  #删除已停止的容器 
docker rm -f ${docker ps -a -q};docker ps -a -q | xargs docker rm  #一次性删除多个容器实例
  • 重要

 

#启动守护式容器(后台服务器)
#大部分场景下,我们希望dockker的服务是在后台运行的,可以通过-d指定容器的后台运行模式
  docker run -d  容器名
 #解决容器自动停止
  docker run -it --name my-redis redis bash #使用交互界面后(Ctrl+p+q)退出容器  
  docker run -itd --name my-redis2 redis bash #td命令结合使用 -i不是必需,加了后容器起来终端返回容器ID

#redis前后台启动演示
	docker run -it redis:6.0.8  #前台交互式启动
	docker run -d  redis:6.0.8  #后台守护式启动

 

  

  

 

 

 

docker logs 容器ID  #查看容器日志
docker top 容器ID  #查看容器内运行的进程
docker inspect 容器ID  #查看容器内部细节
docker exec -it 容器ID bashShell #进入正在运行的容器并以命令行交互

  

 

 

docker attach 容器ID #重新进入
#attach和exec区别
	#attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器停止
	#exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止,推荐使用docker exec命令,因为退出容器终端,不会导致容器的停止
#用之前的redis容器实例进入
	docker exec -it 容器ID /bin/bash
	docker exec -it 容器ID redis-cli
	#一般用-d后台启动的程序,再用exec进入对应容器的实例
#从容器拷贝文件到主机上
	#容器->主机
	docker cp 容器ID:容器内路径 目的地主机路径  #docker cp ID:/usr/local/mycptest/container.txt /tmp/c.txt

  

 

 

#导入导出容器
export #导出容器的内容作为一个tar归档文件[对应import命令]
import #从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]
docker export 容器ID> 文件名.tar
cat 文件名.tar  | docker import -镜像用户/镜像名:镜像版本号

  

 

 

 

posted @ 2022-12-10 21:28  smatterer  阅读(38)  评论(0)    收藏  举报