Docker常用命令

在使用Docker的过程中,记录下常用的一些命令。

 

一、镜像命令

1、查看所有本地主机上的镜像:
docker images 

可选参数:

  •    -a     #列出所有镜像
  •    -q     #只显示镜像id

2、搜索镜像:

docker search  镜像名称

3、下载镜像(默认使用最新版,如果有tag则使用tag版本):

docker pull 镜像名称[:tag]

4、删除镜像(默认删除最新版,如果有tag则使用tag版本)

docker rmi  
可选参数:
  • -f 镜像id                           #删除指定镜像id镜像(支持删除多个)
  • -f 镜像名称                       #删除指定镜像id镜像(支持删除多个)
  • -f $(docker images -aq)   #删除全部镜像

 

二、容器命令

1、启动一个容器:

docker run [可选参数] 镜像名称     

可选参数:

  • --name "mysql"        #设置容器名称
  • -d                             #后台方式运行
  • -it                             #使用交互方式运行(会进入容器)
  • -p                             #指定容器的端口(主机端口:容器端口)
  • -P                             #随机指定端口
  • -e                             #设置环境变量(例如:设置JVM大小)
  • -v               #挂载(支持多个目录挂载),即将宿主机与容器内目录双向绑定同步。就算容器重启了,数据也会同步 (宿主机目录:容器内目录)
  • --volumes-from 目标容器名      #当前容器与目标容器的数据卷,进行数据共享

示例:docker run --name "nginx" -p 8080:80 -d nginx

2、列出所有当前正在运行的容器:

docker ps  

可选参数:

  • -a           #列出当前所有容器(包含正在运行和历史运行的容器)
  • -n=?       #显示几个最近创建的容器
  • -q           #只显示容器编号
  • --filter "name=nginx"  #过滤出容器名称=nginx的容器(模糊查询)

3、删除容器

docker rm 容器id                  #删除指定容器(不能删除正在运行的)
docker rm $(docker ps -aq)       #删除所有容器

可选参数:

    -f       #强制删除容器(正在运行的和停止运行的都可以删除)

4、启动和停止容器:

docker start 容器id       #启动容器
docker restart 容器id     #重启容器
docker stop 容器id        #停止正在运行的容器
docker kill 容器id        #强制停止当前容器

5、使用交互模式进入容器后,退出容器命令:

exit              #退出并停止容器
ctrl + p + q      #退出容器(不停止)

 

三、其它命令:

1、查看日志:

docker logs -tf --tail 10 容器id  

参数说明:

  • -tf               #显示日志(带时间戳)
  • --tail 10      #要显示的日志条数(日志尾部滚动显示)

2、查看容器内的进程信息:

docker top 容器id  

3、查看容器内元数据(卷挂载信息、联合文件信息等):

docker inspect 容器id    

4、进入当前正在运行的容器

docker exec -it 容器id   
后面可以加指令:
      /bin/bash          #进入容器后开启一个新的终端(常用)
      ls -a              #这里可以使用各种linux指令,不会进入容器。相当于在容器内执行该指令
docker attach  容器id     #进入容器正在执行的终端

5、将容器内文件拷贝到宿主机上:

docker cp 容器id:容器内路径 宿主机路径

6、提交自定义镜像:

docker commit -m="提交注释" -a="作者" 容器id  新镜像名称:[tag]

7、列出所有的数据卷:

docker volume ls

8、通过Dockerfile构建一个镜像:

docker build -f dockerfile1 -t mycentos:v1 .

参数说明:

  • -f  Dockerfile名称           #指定Dockerfile名称
  • -t  镜像名称: tag             #指定镜像名称和tag(如果不指定tag,则默认为lastest)
  • .                                      #Dockerfile所在文件路径(同级目录,使用一个点就可以了,这个不能少了)

9、查看网络信息:

docker network

可选参数:

  • ls       #列出所有网络
  • rm     #删除指定网络

10、帮助命令:

docker version              #显示docker的版本信息
docker info                 #显示docker的系统信息
docker 命令  --help          #查看命令帮助信息

11、清理无用镜像

docker system prune      # 用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及无tag的镜像
docker system prune -a   # 清理得更加彻底,可以将没有容器使用Docker镜像都删掉

 

 四、遇到的坑
 a、拉取镜像时,如果报如下错,拉取镜像就会失败:
     open /var/lib/docker/tmp/GetImageBlob560949775: no such file or directory
    解决办法:
    重启docker服务: sudo systemctl restart docker

 

posted @ 2021-04-05 17:04  仅此而已-远方  阅读(228)  评论(0编辑  收藏  举报