Docker常用命令

一·、帮助启动类命令

启动docker:systemctl start docker

停止docker: systemctl stop docker

重启docker: systemctl restart docker

查看docker状态:systemctl status docker

开机启动: systemctl enable docker

查看docker概要信息: docker info

查询docker的总体帮助文档: docker --help

查看docker 命令帮助文档:docker 具体命令 --help

二、镜像命令

(1)docker images 列出本地主机上的镜像

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

(2)docker search 镜像名称

      OPTIONS说明:--limit:只列出N个镜像,默认25个

       docker search --limit 5 redis

(3)docker pull 镜像名称[:TAG] 没有就是最新版 = docker pull 镜像名字:latest

        eg:dokcer pull hello-world  ,docker pull redis:6.0.8

(4)docker system df 查询镜像/容器/数据卷所占的空间

(5)docker rmi 镜像id或者镜像名称

        OPTIONS说明:-f 强制删除

         删除多个时,镜像id之间用空格隔开

         删除全部 docker rmi -f $(docker images -qa)

面试题:docker虚悬镜像:仓库名、标签都是的镜像,为虚悬镜像,可以删除没啥用

 三、容器命令

(1)新建+启动容器 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

          OPTIONS :

         --name="容器新名字" 

         -d:后台运行容器并返回容器ID,也即启动守护式容器(后台运行)

         -i:以交互模式运行容器,通常与-t同时使用:

          -t:为容器重新分配一个伪输入终端,通常与-i使用

         也即启动交互式容器(前台有伪终端,等待交互)

       -P:随机端口映射

       -p:指定端口映射

          eg: docker run -it ubuntu /bin/bash 启动ubuntu   /bin/bash:放在镜像名后的是命令,希望一个交互式Shell,因此用的是/bin/bash 

         eg:docker run -it --name= mu ubuntu /bin/bash

(2)docker ps [OPTIONS]列出正在运行的容器

         OPTIONS : -a:列出当前所有正在运行的容器+历史上运行过的

                             -l:显示最近创建的容器 -n:显示最近n个创建的容器 -q:只显示容器编号

(3)退出容器 

      run进入容器,exit退出,容器停止 使用ctrl+p+q退出,容器不会停止

(4)启动已停止的容器 docker start 容器id 或者容器名称

      类似的命令:docker restart 容器id 或者容器名称

                            docker stop 容器id 或者容器名称

                            docker kill 容器id 或者容器名称 强制停止容器

(5)删除已停止的容器 docker rm 容器id或名称 加-f强制删除

(6)-d指定容器后台运行 docker run -d 容器名

          docker容器后台运行,就必须有一个前台进程

(7)查看容器的日志 docker logs 容器id

(8)docker top 容器id 查看容器内运行的进程 每一个容器可以看做一个简易版的Linux容器

(9)docker inspect 容器id

(10)进入 容器并以命令行交互            docker exec -it 容器id /bin/bash  或者 docker attach 容器ID

        两者的区别:attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止;exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止。推荐使用exec

(11)从容器拷贝数据到主机

docker cp 容器ID:容器内路径 目的主机路径

(12)导入和导出容器 

docker export 容器id > 文件名.tar

cat 文件名.tar | docker import -镜像用户/镜像名:镜像版本号

(13)按照文件所需要的的操作,例如 ubuntu刚开始没有vim命令

           可以先执行 apt-get update  然后执行 apt-get -y install vim

           然后提交镜像 docker commit  - m= "提交的信息" - a="作者" 容器ID 要创建的目标镜像名:[标签名]

(14)使用容器卷备份数据的命令:

          docker run -it --privileged=true -v /宿主机绝对路基目录:/容器内目录  镜像名 (默认可以读写)

          docker run -it --privileged=true -v /宿主机绝对路基目录:/容器内目录:ro  镜像名(容器内只能读,宿主机可读可写)

 (15)容器卷继承和数据共享  docker run -it --privileged=true --volumes- from 父类  镜像名

 四、构建dockerFile的常用保留字指令

FROM :所需基础镜像,第一条必须是from

MAINTAINER:镜像维护者的姓名和邮箱地址

RUN:容器构建时需要的命令

EXPOSE:暴露的端口号

WORKDIR:指定创建容器后,终端默认登录进来工作目录

USER:指定该镜像以什么样的用户去执行,如果不指定,默认是root

ENV: 构建镜像过程中设置环境变量

ADD:将宿主机目录下的文件拷贝到镜像里面且会自动处理urL和解压tar压缩包

COPY:拷贝文件和目录当镜像

VOLUME:容器卷,用于持久化

CMD:指定容器启动后要干的事情

ENTRYPOINT:用来指定一个容器启动时要运行的命令

你可能感兴趣的:(docker)