精华内容
下载资源
问答
  • docker常用命令大全

    2021-10-01 21:29:23
    1、docker常用指令 # 查看版本号 docker version # 查看当前docker信息 docker info # 查看所有镜像 docker images | docker image ls // -a 查看运行和非运行的容器 // -q 返回正在运行的容器id // -qa 返回所有...

    docker

    1、docker常用指令

    # 查看版本号
    docker version
    # 查看当前docker信息
    docker info
    # 查看所有镜像
    docker images  |  docker image ls
    	// -a 查看运行和非运行的容器
    	// -q 返回正在运行的容器id
    	// -qa 返回所有容器的id
    # 拉取一个镜像
    docker pull 镜像名称
    # 删除一个镜像
    docker rmi 镜像名称 
    # 强制删除一个镜像
    docker rmi -f 镜像名称
    # 运行一个容器
    docker run 镜像名称
    	// -p 将宿主机端口和容器端口进行映射 例子 docker run -p 8080(系统端口):8080(docker端口)tomcat 
    	// -d 代表后台运行
    	// --name 表示给容器取一个名字
    	// -v 宿主机目录(绝对路径):容器内目录 实现宿主机目录和容器内目录的文件共享 会清空容器本身目录的数据,一般对容器进行写操作的时候使用
    	// -v 别名:容器内目录 使用别名可以自动创建映射卷并且不会清空原本容器的数据 创建在目录是 /var/lib/docker/voilumes/别名 一般对容器进行读操作的时候使用,对容器数据进行持久化
    	// // -v 宿主机目录(绝对路径):容器内目录:ro 表示容器内的目录只能读而不能写,就是容器内的目录发生改变无法影响到宿主机目录改变
    	// --network 网桥名称 可以指定容器使用的网桥
    # 启动一个容器 
    docker start 容器名字或者容器id
    # 重启一个容器
    docker restart 容器名字或者容器id
    # 正常停止一个容器
    docker stop 容器名字或者容器id
    # 立即停止一个容器
    docker kill 容器名字或者容器id
    # 删除一个容器
    docker rm -f 容器id或者容器名字
    # 删除所有容器
    docker rm -f $(docker ps -aq)
    # 查看容器内的进程
    docker top 容器id或者容器名字
    # 查看容器内部细节
    docker inspect 容器id
    # 查看容器的运行日志
     docker logs [option] 容器id 或者容器名字
     	// -t 加入时间戳
     	// -f 跟随最新的日志打印
     	// --tail 数字 显示多少条
     # 与容器内部进行交互 
     docker exec -it 容器id或者容器名字  bash 
     	// bash表示容器内部的命令行。 每个容器都是一个小型的linux 系统
     # 容器与宿主机之间复制文件
     docker cp 文件|目录 容器id:容器路径
     docker cp 容器id:容器资源路径 宿主机路径
     # 与数据卷volum实现与数组机共享目录
     docker run -v 宿主机路径|任意别名:容器内路径 镜像名
     	// 如果是宿主机路径必须是绝对路径,宿主机目录会覆盖容器内目录内容
     	// 如果是别名会在docker运行容器时自动在宿主机创建一个目录,并将容器目录文件复制到宿主机当中
     # 打包镜像
     docker save 镜像名 -o 名称.tar
     # 载入镜像
     docker load -i 名称.tar
     # 容器打包成新的镜像
     docker commit -m "描述信息" -a "作者信息" (容器id或者名称) 打包的镜像名称:标签
     # 查看所有网桥
     docker network ls  
     # 删除一个网桥
     docker network rm 网桥名称 
     # 创建一个网桥
     docker network create 网桥名称
     # 查看数据卷
     docker volume ls
     # 查看数据卷细节
     docker volume inspect 卷名
     
     
     # docker file 指令
     
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m4nDDiX3-1633094934964)(https://i.loli.net/2021/09/09/fxVye2DM3LFg4RH.png)]

    # 构建一个dockerfile
    docker build -t 生成出来的镜像名称:版本号 dockerFile文件
    # dockerfile 文件内写法
    # 依赖镜像
    FROM 依赖的镜像。
    # 执行语句
    RUN 执行的语句 
    	// 可以在执行镜像的时候对容器内执行对应的语句 (shell脚本 )
    # 暴露端口
    EXPOSE 端口号
    	// 可以将我们生成的容器的端口进行暴露,在run容器的时候使用 -p 端口映射来进行映射
    # 设置进入容器后的工作目录
    WORKDIR 路径
    	// 如果书写的是相对路径,则会在上一个路径下面相对(workdir可以重复使用)
    # 将文件拷贝进容器
    COPY 文件路径 镜像内路径
    	// 一般来说文件路径建议填写相对相对路径。因为dockerfile打包时会存在上下文路径。
    ADD 路径|url 镜像内路径
    	// ADD命令可以对下载链接进行下载然后存入镜像内
    # 指定允许挂载的路径
    VOLUME ["路径"] 
    	// 只有明确在之类说明的路径才可以进行挂在
    # 新建一个变量(公共变量)
    ENV 变量名 值
    	// 用 $变量名 的方式进行使用
    # 容器运行后执行指令
    ENTRYPOINT 指令
    	// 一般用来写固定写死的东西
    # cmd容器运行后执行
    CMD 指令
    	// 只能使用一个cmd指令,多个cmd指令以最后一个指令为准
    	// 可以在运行的时候手动将指令进行替换
    	// 一般用来传参 在cmd命令的上面使用 entrypoint["指令"] cmd["传参"]
    

    docekr-compose

    version: "3.0"
     services: # 表示一组服务(镜像) 
     	tomcat: # 服务名(要求唯一)
     	  container_name: memeda #容器名
          image: "tomcat" # (表示基于的镜像)
          build: # 代替image 直接帮我们打包dockersfile
            context: ./root/aa # dockerfile的上下文目录
            dockerfile: dockerfile # 指定dockerfile 文件名(如果是默认 dockerfile 的话不用填写)
          ports: # 表示需要映射的端口
            - "8080:8800"
            - "777:777"
          env_file:
            - ./mysql.env # 这个文件里面全是 MYSQL_ROOT_PASSWORD=10000 的key,value结构
          depends_on: # 代表这个服务启动需要其他服务启动后才能运行
            - mysql # 表示这个服务需要等mysql服务启动后才会启动
          volumes: # 映射卷
            - /root/apps:/user/local/tomcat # 宿主机路径:容器路径
            - aa:/usr/local/tomcat # 名称:容器路径 使用这种方式必须在下面手动声明卷名
          networks:
            - hello # 指定网络 需要在下面使用networks指令创建网桥
          healthcheck: # 心跳检测
            test: ["CMD","curl","-f","http://localhost"] #发送路径
            interval: 1m30s # 间隔时间
            timeout: 10s # 等待超时时间
            retries: 3 # 失败重复次数
          sysctls: # 修改容器内核参数
            - net.core.somaxconn=1024
            - net.ipv4.tcp_syncookies=0
          ulimits: # 修改操作系统的最大线程数量
            nproc: 65535
            nofile:
              soft: 20000
              hard: 40000
    volumes: # 声明上面服务使用的自动创建的卷名
    	aa: # 使用的卷名 会在容器创建的时候自动创建 会在之前加入项目名
    	 external: # 使用自定义的卷名
    	  true  # true表示使用指定卷名 必须在启动服务之前先通过docker volume 命令创建
    networks: # 定义网桥
    	hello: # 网桥名称,上面服务使用的网桥
    	 external: # 使用自定义的网桥
    	  true # 使用前需创建
    	
    

    docker-compose

    # 运行docker-compose文件
    docker-compose up // 如果文件名不是 docker-compose.yml 的话需要-f指定文件
    	// 指定文件名 -f 文件名 
    	// 指定项目名 -p 项目名
    	// 所有容器后台运行 -d
    # 停止所有容器
    docker-compose down
    # 进入指定的容器
    docker-compose exec 服务id bash
    # 查看项目中所有的容器
    docker-compose ps 
    	// -q 只打印容器id
    # 重启项目中的服务
    docker-compose restart 服务
    	// -t 指定重启前容器的超时时间 (认识10秒)
    # 删除所有停止状态的服务
    docker-compose rm service
    	// -f 强制删除
    	// -v 删除容器 挂在的数据卷(谨慎操作)
    	// 推荐先执行 docker-compose stop 来停止容器
    # 启动or停止
    docker-compose start 
    	// 启动一个容器
    docker-compose stop
    	// 停止一个容器 (-t 设置超时时间)
    # 查看各个服务容器内运行的进程
    docker-compose top
    # 恢复处于暂停状态的服务
    docker-compose unpause
    # 查看某个容器的日志
    docker-compsoe logs [容器id]
    

    docker-portainer

    # 下载镜像
    docker pull portainer/portainer
    # 原生启动
    docker run -d 
    	-p 8000:8000
    	-p 9000:9000
    	--name=portainer
    	--restart=always
    	-v /var/run/docker.sock:/var/run/docker.sock
    	-v portainer_data:/data
    	portainer/portainer
    # 通过docker-compose.yml启动
    portainer:
    	image: portainer/portainer
    	container_name: portainer
    	volumes:
    		- /var/run/docker.sock:/var/run/docker.sock
    		- portainer_data:/data
    	networks:
    		- hello
    	ports:
    		- "8000:8000"
    		- "9000:9000"
    
    展开全文
  • Docker常用命令大全

    2021-11-07 22:15:59
    本文介绍内容包括“容器生命周期管理命令”、“容器操作命令”、“容器rootfs命令”、“镜像仓库命令”、“本地镜像管理命令”和“基础版本信息命令”。 容器生命周期管理命令 run 创建一个新的容器。 使用docker...

    导读

    本文介绍内容包括“容器生命周期管理命令”、“容器操作命令”、“容器rootfs命令”、“镜像仓库命令”、“本地镜像管理命令”和“基础版本信息命令”。

    容器生命周期管理命令

    run

    创建一个新的容器。

     使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。  
    docker run --name mynginx -d nginx:latest  
      
    # 使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。  
    docker run -p 80:80 -v /data:/data -d nginx:latest  
      
    # 使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。  
    docker run -it nginx:latest /bin/bash  
    

    start/stop/restart

    • docker start : 启动一个或多个已经被停止的容器。
    • docker stop : 停止一个运行中的容器。
    • docker restart : 重启容器。
    # 启动已被停止的容器mynginx  
    docker start mynginx  
      
    # 停止运行中的容器mynginx  
    docker stop mynginx  
      
    # 重启容器mynginx  
    docker restart mynginx  
    

    kill

    杀掉一个运行中的容器。可选参数:

    • -s : 发送什么信号到容器,默认 KILL
    # 根据容器名字杀掉容器  
    docker kill tomcat7  
      
    # 根据容器ID杀掉容器  
    docker kill 65d4a94f7a39  
    

    rm

    删除一个或多个容器。

    # 强制删除容器 db01、db02:  
    docker rm -f db01 db02  
      
    # 删除容器 nginx01, 并删除容器挂载的数据卷:  
    docker rm -v nginx01  
      
    # 删除所有已经停止的容器:  
    docker rm $(docker ps -a -q)  
    

    create

    创建一个新的容器但不启动它。

    # 使用docker镜像nginx:latest创建一个容器,并将容器命名为mynginx  
    docker create --name mynginx nginx:latest    
    

    exec

    在运行的容器中执行命令。可选参数:

    • -d : 分离模式: 在后台运行
    • -i : 即使没有附加也保持STDIN 打开
    • -t : 分配一个伪终端
    # 在容器 mynginx 中以交互模式执行容器内 /root/nginx.sh 脚本  
    docker exec -it mynginx /bin/sh /root/nginx.sh  
      
    # 在容器 mynginx 中开启一个交互模式的终端  
    docker exec -i -t  mynginx /bin/bash  
      
    # 也可以通过 docker ps -a 命令查看已经在运行的容器,然后使用容器 ID 进入容器。  
    docker ps -a   
    docker exec -it 9df70f9a0714 /bin/bash  
    

    pause/unpause

    • docker pause :暂停容器中所有的进程。
    • docker unpause :恢复容器中所有的进程。
    # 暂停数据库容器db01提供服务。  
    docker pause db01  
      
    # 恢复数据库容器 db01 提供服务  
    docker unpause db0  
    

    容器操作命令

    ps

    列出容器。可选参数:

    • -a : 显示所有的容器,包括未运行的。
    • -f : 根据条件过滤显示的内容。
    • –format : 指定返回值的模板文件。
    • -l : 显示最近创建的容器。
    • -n : 列出最近创建的n个容器。
    • –no-trunc : 不截断输出。
    • -q : 静默模式,只显示容器编号。
    • -s : 显示总的文件大小。
    # 列出所有在运行的容器信息。  
    docker ps  
      
    # 列出最近创建的5个容器信息。  
    docker ps -n 5  
      
    # 列出所有创建的容器ID。  
    docker ps -a -q  
    

    补充说明:
    容器的7种状态:created(已创建)、restarting(重启中)、running(运行中)、removing(迁移中)、paused(暂停)、exited(停止)、dead(死亡)。

    inspect

    获取容器/镜像的元数据。可选参数:

    • -f : 指定返回值的模板文件。
    • -s : 显示总的文件大小。
    • –type : 为指定类型返回JSON。
    # 获取镜像mysql:5.7的元信息。  
    docker inspect mysql:5.7  
      
    # 获取正在运行的容器mymysql的 IP。  
    docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mymysql  
    

    top

    查看容器中运行的进程信息,支持 ps 命令参数。

    # 查看容器mymysql的进程信息。  
    docker top mymysql  
      
    # 查看所有运行容器的进程信息。  
    for i in  `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done  
    

    events

    获取实时事件。参数说明:

    • -f : 根据条件过滤事件;
    • –since : 从指定的时间戳后显示所有事件;
    • –until : 流水时间显示到指定的时间为止;
    # 显示docker 2016年7月1日后的所有事件。  
    docker events  --since="1467302400"  
      
    # 显示docker 镜像为mysql:5.6 2016年7月1日后的相关事件。  
    docker events -f "image"="mysql:5.6" --since="1467302400"   
    

    说明:如果指定的时间是到秒级的,需要将时间转成时间戳。如果时间为日期的话,可以直接使用,如–since=“2016-07-01”。

    logs

    获取容器的日志。参数说明:

    • -f : 跟踪日志输出
    • –since : 显示某个开始时间的所有日志
    • -t : 显示时间戳
    • –tail : 仅列出最新N条容器日志
    # 跟踪查看容器mynginx的日志输出。  
    docker logs -f mynginx  
      
    # 查看容器mynginx从2016年7月1日后的最新10条日志。  
    docker logs --since="2016-07-01" --tail=10 mynginx  
    

    export

    将文件系统作为一个tar归档文件导出到STDOUT。参数说明:

    • -o : 将输入内容写到文件。
    # 将id为a404c6c174a2的容器按日期保存为tar文件。  
    docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2  
      
    ls mysql-`date +%Y%m%d`.tar  
    

    port

    列出指定的容器的端口映射。

    # 查看容器mynginx的端口映射情况。  
    docker port mymysql 
    

    容器rootfs命令

    commit

    从容器创建一个新的镜像。参数说明:

    • -a : 提交的镜像作者;
    • -c : 使用Dockerfile指令来创建镜像;
    • -m : 提交时的说明文字;
    • -p : 在commit时,将容器暂停。
    # 将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。  
    docker commit -a "guodong" -m "my db" a404c6c174a2  mymysql:v1   
    

    cp

    用于容器与主机之间的数据拷贝。参数说明:

    • -L : 保持源目标中的链接
    # 将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。  
    docker cp /www/runoob 96f7f14e99ab:/www/  
      
    # 将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。  
    docker cp /www/runoob 96f7f14e99ab:/www  
      
    # 将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。  
    docker cp  96f7f14e99ab:/www /tmp/  
    

    diff

    检查容器里文件结构的更改。

    # 查看容器mymysql的文件结构更改。  
    docker diff mymysql  
    

    镜像仓库命令

    login/logout

    docker login : 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hubdocker logout : 登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub参数说明:

    • -u : 登陆的用户名
    • -p : 登陆的密码
    # 登陆到Docker Hub  
    docker login -u 用户名 -p 密码  
      
    # 登出Docker Hub  
    docker logout  
    

    pull

    从镜像仓库中拉取或者更新指定镜像。参数说明:

    • -a : 拉取所有 tagged 镜像
    • –disable-content-trust : 忽略镜像的校验,默认开启
    # 从Docker Hub下载java最新版镜像。  
    docker pull java  
      
    # 从Docker Hub下载REPOSITORY为java的所有镜像。  
    docker pull -a java  
    

    push

    将本地的镜像上传到镜像仓库,要先登陆到镜像仓库。参数说明:

    • –disable-content-trust : 忽略镜像的校验,默认开启
    # 上传本地镜像myapache:v1到镜像仓库中。  
    docker push myapache:v1  
    

    search

    从Docker Hub查找镜像。参数说明:

    • –automated : 只列出 automated build类型的镜像;
    • –no-trunc : 显示完整的镜像描述;
    • -f <过滤条件>: 列出指定条件的镜像。
    # 从 Docker Hub 查找所有镜像名包含 java,并且收藏数大于 10 的镜像  
    docker search -f stars=10 java  
      
    NAME                  DESCRIPTION                           STARS   OFFICIAL   AUTOMATED  
    java                  Java is a concurrent, class-based...   1037    [OK]         
    anapsix/alpine-java   Oracle Java 8 (and 7) with GLIBC ...   115                [OK]  
    develar/java                                                 46                 [OK]  
    

    每列参数说明:

    • NAME: 镜像仓库源的名称
    • DESCRIPTION: 镜像的描述
    • OFFICIAL: 是否 docker 官方发布
    • stars: 类似 Github 里面的 star,表示点赞、喜欢的意思
    • AUTOMATED: 自动构建

    本地镜像管理命令

    images

    列出本地镜像。参数说明:

    • -a : 列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
    • –digests : 显示镜像的摘要信息;
    • -f : 显示满足条件的镜像;
    • –format : 指定返回值的模板文件;
    • –no-trunc : 显示完整的镜像信息;
    • -q : 只显示镜像ID。
    # 查看本地镜像列表。  
    docker images  
      
    # 列出本地镜像中REPOSITORY为ubuntu的镜像列表。  
    docker images  ubuntu  
    

    rmi

    删除本地一个或多个镜像。参数说明:

    • -f : 强制删除;
    • –no-prune : 不移除该镜像的过程镜像,默认移除;
    # 强制删除本地镜像 guodong/ubuntu:v4。  
    docker rmi -f guodong/ubuntu:v4  
    

    tag

    标记本地镜像,将其归入某一仓库。

    # 将镜像ubuntu:15.10标记为 runoob/ubuntu:v3 镜像。  
    docker tag ubuntu:15.10 runoob/ubuntu:v3  
    

    build

    用于使用 Dockerfile 创建镜像。参数说明:

    • –build-arg=[] : 设置镜像创建时的变量;
    • –cpu-shares : 设置 cpu 使用权重;
    • –cpu-period : 限制 CPU CFS周期;
    • –cpu-quota : 限制 CPU CFS配额;
    • –cpuset-cpus : 指定使用的CPU id;
    • –cpuset-mems : 指定使用的内存 id;
    • –disable-content-trust : 忽略校验,默认开启;
    • -f : 指定要使用的Dockerfile路径;
    • –force-rm : 设置镜像过程中删除中间容器;
    • –isolation : 使用容器隔离技术;
    • –label=[] : 设置镜像使用的元数据;
    • -m : 设置内存最大值;
    • –memory-swap : 设置Swap的最大值为内存+swap,"-1"表示不限swap;
    • –no-cache : 创建镜像的过程不使用缓存;
    • –pull : 尝试去更新镜像的新版本;
    • –quiet, -q : 安静模式,成功后只输出镜像 ID;
    • –rm : 设置镜像成功后删除中间容器;
    • –shm-size : 设置/dev/shm的大小,默认值是64M;
    • –ulimit : Ulimit配置。
    • –squash : 将 Dockerfile 中所有的操作压缩为一层。
    • –tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
    • –network: 默认 default。在构建期间设置RUN指令的网络模式
    # 使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1  
    docker build -t runoob/ubuntu:v1 .   
      
    # 使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像  
    docker build github.com/creack/docker-firefox  
      
    # 通过 -f Dockerfile文件的位置 创建镜像  
    docker build -f /path/to/a/Dockerfile .  
    

    history

    查看指定镜像的创建历史。参数说明:

    • -H : 以可读的格式打印镜像大小和日期,默认为true;
    • –no-trunc : 显示完整的提交记录;
    • -q : 仅列出提交记录ID。
    # 查看本地镜像 guodong/ubuntu:v3 的创建历史。  
    docker history guodong/ubuntu:v3  
    

    save

    将指定镜像保存成 tar 归档文件。参数说明:

    • -o : 输出到的文件。
    # 将镜像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文档  
    docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3  
    

    load

    导入使用 docker save 命令导出的镜像。参数说明:

    • –input , -i : 指定导入的文件,代替 STDIN。
    • –quiet , -q : 精简输出信息。
    # 导入镜像  
    docker load --input fedora.tar  
    

    import

    从归档文件中创建镜像。参数说明:

    • -c : 应用docker 指令创建镜像;
    • -m : 提交时的说明文字;
    # 从镜像归档文件my_ubuntu_v3.tar创建镜像,命名为runoob/ubuntu:v4  
    docker import  my_ubuntu_v3.tar runoob/ubuntu:v4    
    

    基础版本信息命令

    info

    显示 Docker 系统信息,包括镜像和容器数。

    # 查看docker系统信息。  
    docker info  
    

    version

    显示 Docker 版本信息。

    docker version  
    
    展开全文
  • Docker 常用命令大全

    2021-12-12 13:23:43
    文章目录一、容器生命周期管理命令**run****start/stop/restart****kill****rm****create****exec****pause/unpause**二、容器操作命令**ps****inspect****top****events****logs****export****port**三、容器rootfs...

    一、容器生命周期管理命令

    run

    创建一个新的容器。

    # 使用docker镜像nginx:latest以后台模式启动一个容器,
    # 并将容器命名为mynginx。  
    docker run --name mynginx -d nginx:latest  
    
    # 使用镜像 nginx:latest,以后台模式启动一个容器,
    # 将容器的 80 端口映射到主机的 80 端口,
    # 主机的目录 /data 映射到容器的 /data。  
    docker run -p 80:80 -v /data:/data -d nginx:latest  
    
    # 使用镜像nginx:latest以交互模式启动一个容器,
    # 在容器内执行/bin/bash命令。  
    docker run -it nginx:latest /bin/bash  
    

    start/stop/restart

    • docker start : 启动一个或多个已经被停止的容器。
    • docker stop : 停止一个运行中的容器。
    • docker restart : 重启容器。
    # 启动已被停止的容器mynginx  
    docker start mynginx  
    
    # 停止运行中的容器mynginx  
    docker stop mynginx  
    
    # 重启容器mynginx  
    docker restart mynginx  
    

    kill

    杀掉一个运行中的容器。可选参数:

    • -s : 发送什么信号到容器,默认 KILL
    # 根据容器名字杀掉容器  
    docker kill tomcat7  
    
    # 根据容器ID杀掉容器  
    docker kill 65d4a94f7a39  
    

    rm

    删除一个或多个容器。

    # 强制删除容器 db01、db02:  
    docker rm -f db01 db02  
    
    # 删除容器 nginx01, 并删除容器挂载的数据卷:  
    docker rm -v nginx01  
    
    # 删除所有已经停止的容器:  
    docker rm $(docker ps -a -q)  
    

    create

    创建一个新的容器但不启动它。

    # 使用docker镜像nginx:latest创建一个容器,并将容器命名为mynginx  
    docker create --name mynginx nginx:latest     
    

    exec

    在运行的容器中执行命令。可选参数:

    • -d : 分离模式: 在后台运行
    • -i : 即使没有附加也保持STDIN 打开
    • -t : 分配一个伪终端
    # 在容器 mynginx 中以交互模式执行容器内 /root/nginx.sh 脚本  
    docker exec -it mynginx /bin/sh /root/nginx.sh  
    
    # 在容器 mynginx 中开启一个交互模式的终端  
    docker exec -i -t  mynginx /bin/bash  
    
    # 也可以通过 docker ps -a 命令查看已经在运行的容器,然后使用容器 ID 进入容器。  
    docker ps -a   
    docker exec -it 9df70f9a0714 /bin/bash  
    

    pause/unpause

    • docker pause :暂停容器中所有的进程。
    • docker unpause :恢复容器中所有的进程。
    # 暂停数据库容器db01提供服务。  
    docker pause db01  
    
    # 恢复数据库容器 db01 提供服务  
    docker unpause db0  
    

    二、容器操作命令

    ps

    列出容器。可选参数:

    • -a : 显示所有的容器,包括未运行的。
    • -f : 根据条件过滤显示的内容。
    • –format : 指定返回值的模板文件。
    • -l : 显示最近创建的容器。
    • -n : 列出最近创建的n个容器。
    • –no-trunc : 不截断输出。
    • -q : 静默模式,只显示容器编号。
    • -s : 显示总的文件大小。
    # 列出所有在运行的容器信息。  
    docker ps  
    
    # 列出最近创建的5个容器信息。  
    docker ps -n 5  
    
    # 列出所有创建的容器ID。  
    docker ps -a -q  
    

    补充说明:

    容器的7种状态:created(已创建)、restarting(重启中)、running(运行中)、removing(迁移中)、paused(暂停)、exited(停止)、dead(死亡)。

    inspect

    获取容器/镜像的元数据。可选参数:

    • -f : 指定返回值的模板文件。
    • -s : 显示总的文件大小。
    • –type : 为指定类型返回JSON。
    # 获取镜像mysql:5.7的元信息。  
    docker inspect mysql:5.7  
    
    # 获取正在运行的容器mymysql的 IP。  
    docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mymysql  
    

    top

    查看容器中运行的进程信息,支持 ps 命令参数。

    # 查看容器mymysql的进程信息。  
    docker top mymysql  
    
    # 查看所有运行容器的进程信息。  
    for i in  `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done  
    

    events

    获取实时事件。参数说明:

    • -f : 根据条件过滤事件;
    • –since : 从指定的时间戳后显示所有事件;
    • –until : 流水时间显示到指定的时间为止;
    # 显示docker 2016年7月1日后的所有事件。  
    docker events  --since="1467302400"  
    
    # 显示docker 镜像为mysql:5.6 2016年7月1日后的相关事件。  
    docker events -f "image"="mysql:5.6" --since="1467302400"   
    

    说明:如果指定的时间是到秒级的,需要将时间转成时间戳。如果时间为日期的话,可以直接使用,如–since=“2016-07-01”。

    logs

    获取容器的日志。参数说明:

    • -f : 跟踪日志输出
    • –since : 显示某个开始时间的所有日志
    • -t : 显示时间戳
    • –tail : 仅列出最新N条容器日志
    # 跟踪查看容器mynginx的日志输出。  
    docker logs -f mynginx  
    
    # 查看容器mynginx从2016年7月1日后的最新10条日志。  
    docker logs --since="2016-07-01" --tail=10 mynginx  
    

    export

    将文件系统作为一个tar归档文件导出到STDOUT。参数说明:

    • -o : 将输入内容写到文件。
    # 将id为a404c6c174a2的容器按日期保存为tar文件。  
    docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2  
    
    ls mysql-`date +%Y%m%d`.tar  
    

    port

    列出指定的容器的端口映射。

    # 查看容器mynginx的端口映射情况。  
    docker port mymysql  
    

    三、容器rootfs命令

    commit

    从容器创建一个新的镜像。参数说明:

    • -a : 提交的镜像作者;
    • -c : 使用Dockerfile指令来创建镜像;
    • -m : 提交时的说明文字;
    • -p : 在commit时,将容器暂停。
    # 将容器a404c6c174a2 保存为新的镜像,
    # 并添加提交人信息和说明信息。  
    docker commit -a "guodong" -m "my db" a404c6c174a2  mymysql:v1   
    

    cp

    用于容器与主机之间的数据拷贝。参数说明:

    • -L : 保持源目标中的链接
    # 将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。  
    docker cp /www/runoob 96f7f14e99ab:/www/  
    
    # 将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。  
    docker cp /www/runoob 96f7f14e99ab:/www  
    
    # 将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。  
    docker cp  96f7f14e99ab:/www /tmp/  
    

    diff

    检查容器里文件结构的更改。

    # 查看容器mymysql的文件结构更改。  
    docker diff mymysql  
    

    四、镜像仓库命令

    login/logout

    docker login : 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub**docker logout 😗*登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub参数说明:

    • -u : 登陆的用户名
    • -p : 登陆的密码
    # 登陆到Docker Hub  
    docker login -u 用户名 -p 密码  
    
    # 登出Docker Hub  
    docker logout  
    

    pull

    从镜像仓库中拉取或者更新指定镜像。参数说明:

    • -a : 拉取所有 tagged 镜像
    • –disable-content-trust : 忽略镜像的校验,默认开启
    # 从Docker Hub下载java最新版镜像。  
    docker pull java  
    
    # 从Docker Hub下载REPOSITORY为java的所有镜像。  
    docker pull -a java  
    

    push

    将本地的镜像上传到镜像仓库,要先登陆到镜像仓库。参数说明:

    • –disable-content-trust : 忽略镜像的校验,默认开启
    # 上传本地镜像myapache:v1到镜像仓库中。  
    docker push myapache:v1  
    

    search

    从Docker Hub查找镜像。参数说明:

    • –automated : 只列出 automated build类型的镜像;
    • –no-trunc : 显示完整的镜像描述;
    • -f <过滤条件>: 列出指定条件的镜像。
    # 从 Docker Hub 查找所有镜像名包含 java,并且收藏数大于 10 的镜像  
    docker search -f stars=10 java  
    
    NAME                  DESCRIPTION                           STARS   OFFICIAL   AUTOMATED  
    java                  Java is a concurrent, class-based...   1037    [OK]         
    anapsix/alpine-java   Oracle Java 8 (and 7) with GLIBC ...   115                [OK]  
    develar/java                                                 46                 [OK]  
    

    每列参数说明:

    • NAME: 镜像仓库源的名称
    • DESCRIPTION: 镜像的描述
    • OFFICIAL: 是否 docker 官方发布
    • stars: 类似 Github 里面的 star,表示点赞、喜欢的意思
    • AUTOMATED: 自动构建

    五、本地镜像管理命令

    images

    列出本地镜像。参数说明:

    • -a : 列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
    • –digests : 显示镜像的摘要信息;
    • -f : 显示满足条件的镜像;
    • –format : 指定返回值的模板文件;
    • –no-trunc : 显示完整的镜像信息;
    • -q : 只显示镜像ID。
    # 查看本地镜像列表。  
    docker images  
    
    # 列出本地镜像中REPOSITORY为ubuntu的镜像列表。  
    docker images  ubuntu  
    

    rmi

    删除本地一个或多个镜像。参数说明:

    • -f : 强制删除;
    • –no-prune : 不移除该镜像的过程镜像,默认移除;
    # 强制删除本地镜像 guodong/ubuntu:v4。  
    docker rmi -f guodong/ubuntu:v4  
    

    tag

    标记本地镜像,将其归入某一仓库。

    # 将镜像ubuntu:15.10标记为 runoob/ubuntu:v3 镜像。  
    docker tag ubuntu:15.10 runoob/ubuntu:v3  
    

    build

    用于使用 Dockerfile 创建镜像。参数说明:

    • –build-arg=[] : 设置镜像创建时的变量;
    • –cpu-shares : 设置 cpu 使用权重;
    • –cpu-period : 限制 CPU CFS周期;
    • –cpu-quota : 限制 CPU CFS配额;
    • –cpuset-cpus : 指定使用的CPU id;
    • –cpuset-mems : 指定使用的内存 id;
    • –disable-content-trust : 忽略校验,默认开启;
    • -f : 指定要使用的Dockerfile路径;
    • –force-rm : 设置镜像过程中删除中间容器;
    • –isolation : 使用容器隔离技术;
    • –label=[] : 设置镜像使用的元数据;
    • -m : 设置内存最大值;
    • –memory-swap : 设置Swap的最大值为内存+swap,"-1"表示不限swap;
    • –no-cache : 创建镜像的过程不使用缓存;
    • –pull : 尝试去更新镜像的新版本;
    • –quiet, -q : 安静模式,成功后只输出镜像 ID;
    • –rm : 设置镜像成功后删除中间容器;
    • –shm-size : 设置/dev/shm的大小,默认值是64M;
    • –ulimit : Ulimit配置。
    • –squash : 将 Dockerfile 中所有的操作压缩为一层。
    • –tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
    • –network: 默认 default。在构建期间设置RUN指令的网络模式
    # 使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1  
    docker build -t runoob/ubuntu:v1 .   
    
    # 使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像  
    docker build github.com/creack/docker-firefox  
    
    # 通过 -f Dockerfile文件的位置 创建镜像  
    docker build -f /path/to/a/Dockerfile .  
    

    history

    查看指定镜像的创建历史。参数说明:

    • -H : 以可读的格式打印镜像大小和日期,默认为true;
    • –no-trunc : 显示完整的提交记录;
    • -q : 仅列出提交记录ID。
    # 查看本地镜像 guodong/ubuntu:v3 的创建历史。  
    docker history guodong/ubuntu:v3  
    

    save

    将指定镜像保存成 tar 归档文件。参数说明:

    • -o : 输出到的文件。
    # 将镜像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文档  
    docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3  
    

    load

    导入使用 docker save 命令导出的镜像。参数说明:

    • –input , -i : 指定导入的文件,代替 STDIN。
    • –quiet , -q : 精简输出信息。
    # 导入镜像  
    docker load --input fedora.tar  
    

    import

    从归档文件中创建镜像。参数说明:

    • -c : 应用docker 指令创建镜像;
    • -m : 提交时的说明文字;
    # 从镜像归档文件my_ubuntu_v3.tar创建镜像,命名为runoob/ubuntu:v4  
    docker import  my_ubuntu_v3.tar runoob/ubuntu:v4    
    

    六、基础版本信息命令

    info

    显示 Docker 系统信息,包括镜像和容器数。

    # 查看docker系统信息。  
    docker info  
    

    version

    显示 Docker 版本信息。

    docker version  
    导入的文件,代替 STDIN。
    - **–quiet , -q :** 精简输出信息。
    
    

    导入镜像

    docker load --input fedora.tar

    
    ### **import**
    
    从归档文件中创建镜像。参数说明:
    
    - **-c :** 应用docker 指令创建镜像;
    - **-m :** 提交时的说明文字;
    
    

    从镜像归档文件my_ubuntu_v3.tar创建镜像,命名为runoob/ubuntu:v4

    docker import my_ubuntu_v3.tar runoob/ubuntu:v4

    
    ## 六、基础版本信息命令
    
    ### **info**
    
    显示 Docker 系统信息,包括镜像和容器数。
    
    

    查看docker系统信息。

    docker info

    
    ### **version**
    
    显示 Docker 版本信息。
    
    

    docker version

    展开全文
  • #查看docker版本 docker -v #启动docker命令 systemctl start docker #重启命令 systemctl restart docker #docker安装mysql docker pull mysql:5.7
    #查看docker版本
    docker -v
    
    #启动docker命令
    systemctl start docker
    
    #重启命令
    systemctl restart docker
    
    #docker安装mysql
    docker pull mysql:5.7
    
    #交互模式打开mysql
    docker exec -it mysql /bin/bash
    
    #交互模式打开redis
    docker exec -it redis redis-cli
    
    #自启动redis
    docker update redis --restart=always
    
    #自启动mysql
    docker update mysql --restart=always
    
    展开全文
  • 目录使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。使用...
  • 文章目录Docker——Docker 常用命令1、后台启动2、查看日志3、查看进程4、查看元数据5、在运行的容器中执行命令6、连接到正在执行的容器7、数据拷贝 Docker——Docker 常用命令 1、后台启动 语法: docker run -d ...
  • Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余 项目。它基于 Google 公司推出的 Go 语言实现。项目后来加入了 Linux 基金...
  • docker常用命令

    2020-12-27 19:04:45
    docker常用命令
  • 文章目录Docker命令总结docker常用命令docker命令大全 常用命令由个人学习总结。命令大全翻译自官方最新(2021.05.19)文档,如有错误,请参阅官网。感谢纠正! Docker命令总结 Docker官方帮助文档 docker常用命令 ...
  • 镜像(Image):Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其...
  • docker常用命令详解

    2021-02-11 10:30:53
    docker常用命令详解 docker logs -t --since="2018-12-26 06:39:22" --until "2018-12-26 06:39:55" c-front 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只...
  • Docker常用命令

    2021-11-30 19:50:53
    目录 ... 整理了一些 Docker 常用的基础命令。 搜索镜像 使用 search 命令可以搜索存放在 docker hub 上的镜像。 命令格式如下: % docker search --help Usage: docker search [OPTIONS]...
  • 安装docker yum list installed | grep docker 查看docker cd /etc/yum.repos.d/ 切换目录 yum install -y wget(如果没有安装wget需要执行) ...命令 解释 firewall-cmd --state 查看防火墙是否关闭 syste
  • Docker常用指令

    2021-03-07 09:26:02
    Docker常用指令Docker服务指令Docker镜像指令Docker容器相关指令运行参数说明交互式容器守护式容器容器文件拷贝目录挂载 Docker服务指令 启动/停止docker服务 systemctl start/stop docker 重启/查看docker服务 ...
  • docker常用指令详解

    2021-05-15 20:22:44
    指令详解从远程仓库拉取镜像//docker image pull library/hello-world默认从library拉取可以省略docker image pull hello-world查看镜像列表docker image ls运行一个docker的镜像,产生一个容器实例//运行docker run...
  • 3 、Docker常用命令

    2021-01-14 11:19:32
    可使用dockersearch命令搜索存放在DockerHub中的镜像。执行该命令后,Docker就会在DockerHub中搜索含有java这个关键词的镜像仓库。 #dockersearchjava 以上列表包含五列,含义如下: -NAME:镜像仓库名称。 -...
  • 1,安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2 2,设置下载源为阿里云 ...3,安装docker yum instal

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 71,155
精华内容 28,462
关键字:

docker常用命令大全