docker 学习--02 常用命令

docker 学习–02 常用命令

文章目录

  • docker 学习--02 常用命令
  • 1. 帮助启动类命令
    • 1.1启动docker
    • 1.2 停止docker
    • 1.3 重启docker
    • 1.4 查看docker
    • 1.5 设置开机自启
    • 1.6 查看docker概要信息
    • 1.7 查看docker总体帮助文档
    • 1.8 查看docker命令帮助文档
  • 2. 镜像命令
    • 2.1 列出本地主机上有的镜像
    • 2.2 查询镜像库
    • 2.3 从远程库拉取镜像
    • 2.4 查看镜像/容器/数据卷所占的空间(使用时注意自己是否有权限)
    • 2.5 删除本地镜像
    • 2.6 创建新的镜像
    • 2.7 通过Dcokerfile构建镜像
  • 3容器命令
    • 3.1 新建启动容器
    • 3.2 查看容器 大小
    • 3.3 退出容器
    • 3.4 进入正在运行的容器并以命令行交互
    • 3.5 启动已停止运行的容器
    • 3.6 重启容器
    • 3.7 停止容器
    • 3.8 强制停止容器
    • 3.9 删除已停止的容器
    • 3.10 查看容器日志
    • 3.11 查看容器内运行的进程
    • 3.12 查看容器内部细节
    • 3.13 从容器内拷贝文件到主机上
    • 3.14 导入和导出容器
    • 3.15 容器数据卷挂载 运行一个带有容器卷存储功能的容器实例
    • 3.16 容器数据卷继承
    • 3.17 查看容器资源占用情况
  • 4 docker 网络命令
    • 4.1 查看网络
    • 4.2 创建网络
    • 4.3 查看网络源数据
    • 4.4 删除网络
  • 5.Docker-compose容器 命令

1. 帮助启动类命令

1.1启动docker

 systemctl start docker

1.2 停止docker

 systemctl stop docker

1.3 重启docker

systemctl restart docker

1.4 查看docker

systemctl status docker

1.5 设置开机自启

systemctl enable docker

1.6 查看docker概要信息

docker info

1.7 查看docker总体帮助文档

docker --help

1.8 查看docker命令帮助文档

docker 命令 --helpexample:
docker run --help

2. 镜像命令

2.1 列出本地主机上有的镜像

docker images [OPTIONS]常用参数:
-a :列出所有的镜像 (含历史映像层)
-q :只显示镜像IDexample:
docker images -a
docker images -q
docker images -aq
docker images php #查找镜像名为php的镜像
//REPOSITORY:表示镜像的仓库源
//TAG:镜像的标签版本号
//IMAGE ID:镜像ID
//CREATED:镜像创建时间
//SIZE:镜像大小 

2.2 查询镜像库

docker search [OPTIONS] 镜像名字常用参数:
--limit nu   #只输出查到的前nu条记录example:
docker search php
docker search --limit 10 php
//NAME:镜像名称
//DISCRIPTION:镜像说明
//STARTS:点赞数
//OFFICAL:是否是官方认可的
//AUTOMATED:是否自动构建 

2.3 从远程库拉取镜像

docker pull 镜像名字[:TAG]example:
docker pull php:7.2
docker pull php # 没有指定版本即拉取最新版 

2.4 查看镜像/容器/数据卷所占的空间(使用时注意自己是否有权限)

//检查Docker镜像的磁盘空间
docker system df 
//查该命令将显示所有正在运行的Docker容器的磁盘使用情况
docker ps -s  
//检查Docker容器的详细磁盘使用情况  
//该命令将显示指定Docker容器的详细磁盘使用情况,包括容器的各个层的大小。
docker inspect | grep -i "size" 

2.5 删除本地镜像

//删除单个
docker rmi 镜像ID  #删除镜像,如果此时镜像上面有容器正在运行,会报错无法删除
docker rmi  -f 镜像ID   #强制(forced)删除镜像
//删除多个
docker rmi -f 镜像名1:TAG 镜像名2:TAG 
//删除全部(慎用)
docker rmi -f $(docker images -qa)  
#首先docker images -qa会列举本地所有的镜像的ID,然后作为一个集合送入rmi一个个删除

2.6 创建新的镜像

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

2.7 通过Dcokerfile构建镜像

Dockerfile是使用Docker构建镜像的一种常见方式,它是一个文本文件,包含了构建镜像所需的命令和指令 格式如下

//Dockerfile常见命令:
//FROM image_name:tag	声明基础镜像
//MAINTAINER user_name	声明镜像的作者
//ENV key value	设置环境变量 (可以写多条)
//RUN command	编译镜像时运行的脚本(可以写多条)
//CMD	设置容器的启动命令
//ENTRYPOINT	设置容器的入口程序
//ADD source_dir/file dest_dir/file	将宿主机的文件复制到镜像内,如果是一个压缩文件,将会在复制后自动解压。支持URL路径下载源文件,但下载方式不能自动解压。
//COPY source_dir/file dest_dir/file	和ADD相似,将宿主机的文件复制到镜像内,但是如果有压缩文件并不能解压。不支持URL路径下载。
//WORKDIR path_dir	设置工作目录
//ARG	设置编译镜像时加入的参数
//VOLUMN	设置容器的挂载卷//示例  #(1)建立工作目录mkdir /opt/apachecd /opt/apache​#(2)准备Dockerfile文件vim Dockerfile#基于的基础镜像FROM centos:7#维护镜像的用户信息MAINTAINER this is apache image <zy>#镜像操作指令安装apache软件RUN yum -y install httpd#开启80端口EXPOSE 80#复制网站首页文件ADD index.html /var/www/html/#指定启动容器时第一个运行的命令,前台运行apache//方法一:#将执行脚本复制到镜像中ADD run.sh /run.shRUN chmod 755 /run.sh#启动容器时执行脚本CMD ["/run.sh"]​//方法二:ENTRYPOINT ["/usr/sbin/apachectl"]CMD ["-D", "FOREGROUND"]     #FOREGROUND前台运行#默认情况下apache是在后台运行需要-D指定FOREGROUND表示前台运行否则执行完第一条命令会停止镜像​​#(3)准备执行脚本。使用方法一的情况下需要准备执行脚本,使用方法二可跳过此步骤。vim run.sh#!/bin/bash#清理httpd的缓存rm -rf /run/httpd/*#指定为前台运行/usr/sbin/apachectl -D FOREGROUND#因为Docker容器仅在它的1号进程(PID为1)运行时,会保持运行。如果1号进程退出了,Docker容器也就退出了。#(4)准备网站页面echo "this is apache web" > index.html​#(5)生成镜像(构建镜像)docker build -t httpd:centos .   #注意别忘了末尾有"."#(6)使用新镜像运行容器docker run -d -p 6666:80 httpd:centos   #指定映射端口1314#使用宿主机IP和1314端口,测试网页访问http://IP:6666/

3容器命令

3.1 新建启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]常用参数:
--name=NAME   #为容器指定名字为NAME,不使用的话系统自动为容器命名
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
也即启动交互式容器(前台有伪终端,等待交互,一般连用,即-it);-P: 随机端口映射,大写P
-p: 指定端口映射,小写pexample:以ubuntu为例,启动后要交互先声明交互模式,其次交互得需要一个终端,因此参数为-it
docker run -it ubuntu /bin/bash指定名称
docker run -it --name=myubuntu ubuntu /bin/bash

3.2 查看容器 大小

docker ps [OPTIONS]常用参数:
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n nu:显示最近nu个创建的容器。
-q :静默模式,只显示容器编号

3.3 退出容器


//1.run进去容器,exit退出,容器停止
exit
//2.run进去容器,ctrl+p+q退出,容器不停止

3.4 进入正在运行的容器并以命令行交互

//exec 是在容器中打开新的终端,并且可以启动新的进程。用exit退出,不会导致容器的停止。
//attach 直接进入容器启动命令的终端,不会启动新的进程。用exit退出,会导致容器的停止。
docker exec -it 容器ID/容器名称 bashShell
docker attach 容器ID

3.5 启动已停止运行的容器

docker start 容器ID或者容器名

3.6 重启容器

docker restart 容器ID或者容器名

3.7 停止容器

docker stop 容器ID或者容器名

3.8 强制停止容器

docker kill 容器ID或容器名

3.9 删除已停止的容器

#删除一个
docker rm 容器ID  
docker rm -f 容器ID  #强制删除#删除多个
docker rm -f $(docker ps -a -q)docker ps -a -q | xargs docker rm

3.10 查看容器日志

docker logs 容器ID

3.11 查看容器内运行的进程

docker top 容器ID

3.12 查看容器内部细节

docker inspect 容器ID

3.13 从容器内拷贝文件到主机上

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

3.14 导入和导出容器

docker export 容器ID > 文件名.tar
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

3.15 容器数据卷挂载 运行一个带有容器卷存储功能的容器实例

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:[OPTION] 镜像名OPTION:
rw   可读可写(read + write)
ro   容器实例内部被限制,只能读取不能写,仅读(read only)

3.16 容器数据卷继承

docker run -it  --privileged=true --volumes-from 父类  --name u2 ubuntuexample:
# 新创建u3容器继承u2容器的数据卷挂载,此时u2就算stop也不影响u3
docker run -it --privileged=true --volumes-from u2 --name u3 ubuntu

3.17 查看容器资源占用情况

docker stats [OPTIONS] [CONTAINER...]OPTIONS:
--all , -a :显示所有的容器,包括未运行的。
--format :指定返回值的模板文件。
--no-stream :展示当前状态就直接退出了,不再实时更新。
--no-trunc :不截断输出。
example:
docker stats
docker stats mynginx  # 容器名
docker stats af7928654200  # 容器ID//CONTAINER ID 与 NAME: 容器 ID 与名称。
//CPU % 与 MEM %: 容器使用的 CPU 和内存的百分比。
//MEM USAGE / LIMIT: 容器正在使用的总内存,以及允许使用的内存总量。
//NET I/O: 容器通过其网络接口发送和接收的数据量。
//BLOCK I/O: 容器从主机上的块设备读取和写入的数据量。
//PIDs: 容器创建的进程或线程数。

4 docker 网络命令

4.1 查看网络

docker network ls

4.2 创建网络

docker network create xxx网络名字

4.3 查看网络源数据

docker network inspect  XXX网络名字

4.4 删除网络

docker network rm XXX网络名字

5.Docker-compose容器 命令

docker-compose -h                      # 查看帮助
docker-compose up                      # 启动所有docker-compose服务
docker-compose up -d                   # 启动所有docker-compose服务并后台运行
docker-compose down                    # 停止并删除容器、网络、卷、镜像。
docker-compose exec  yml里面的服务id          # 进入容器实例内部  
docker-compose exec docker-compose.yml文件中写的服务id /bin/bash
docker-compose ps                      # 展示当前docker-compose编排过的运行的所有容器
docker-compose top                     # 展示当前docker-compose编排过的容器进程docker-compose logs  yml里面的服务id    # 查看容器输出日志
docker-compose config     # 检查配置
docker-compose config -q  # 检查配置,有问题才有输出
docker-compose restart   # 重启服务
docker-compose start     # 启动服务
docker-compose stop      # 停止服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/38052.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter 参数化的几种方法

目录 配置元件-用户自定义变量 前置处理器-用户参数 配置元件-CSV Data Set Config Tools-函数助手 配置元件-用户自定义变量 可在测试计划、线程组、HTTP请求下创建用户定义的变量 全局变量&#xff0c;可以跨线程组调用 jmeter执行的时候&#xff0c;只获取一次&#xff0…

kafka 02——三个重要的kafka客户端

kafka 02——三个重要的kafka客户端 1. 前言1.1 关于 Kafka 的安装1.2 常用客户端简介1.3 依赖 2. AdminClient2.1 Admin Configs2.2 AdminClient API2.2.1 设置 AdminClient 对象2.2.2 创建 topic 获取 topic 列表2.2.3 删除topic2.2.4 查看 topic 的描述信息2.2.5 查看 topi…

【复习8-13天】每天40min,我们一起用70天稳扎稳打学完《JavaEE初阶》——14/70 第十四天

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示:重难点★✔ 蓝色文字表示:思路以及想法★✔   如果大家觉得有帮助的话,感谢大家帮忙 点…

【腾讯云 TDSQL-C Serverless 产品体验】基于TDSQL-C 存储爬取的QQ音乐歌单数据

【腾讯云 TDSQL-C Serverless 产品体验】基于TDSQL-C 存储爬取的QQ音乐歌单数据 文章目录 【腾讯云 TDSQL-C Serverless 产品体验】基于TDSQL-C 存储爬取的QQ音乐歌单数据前言出现的背景一、TDSQL-C数据库是什么&#xff1f;二、TDSQL-C 的特点三、TDSQL-C的应用场景四、基于TD…

测试相关Liunx基础知识

Linux的历史和安装 基本常识 Liunx目录结果 常见

CTF之逆向之阿里巴巴

题目地址&#xff1a;http://www.shiyanbar.com/ctf/13 题目预览&#xff1a; 解题过程&#xff1a; 1、下载附件发现是exe文件 2、使用PEid和Detect It Easy查壳 和 开发语言&#xff0c;发现没有加壳&#xff0c;都是用C#开发的 3、C#和Java Python属于解释型语言&#xff…

Win10安装GPU支持的最新版本的tensorflow

我在安装好cuda和cudnn后&#xff0c;使用pip install tensorflow安装的tensorflow都提示不能找到GPU&#xff0c; 为此怀疑默认暗转的tensorflow是不带GPU支持的。 在tensorflow官网提供了多个版本的GPU支持的windows的安装包 https://www.tensorflow.org/install/pip?hlz…

用ChatGPT和六顶帽思考法帮助自己更好地决策和解决问题

当我们在解决复杂问题时&#xff0c;我们常常陷入单一视角的状态。创造性思维领域的先驱爱德华德博诺&#xff0c;提出了六顶帽思考法[1]&#xff0c;这意味着我们可以从六个不同的视角来思考一个问题&#xff0c;以实现高水平决策和解决问题。 每一顶“帽子”代表不同的视角。…

阿里云国际版CDN使用教程!

当网站流量达到一定值后&#xff0c;势必会造成网站访问卡堵&#xff0c;这时候阿里云CDN将会一个很好的选择&#xff0c;阿里云 CDN 是由全球分布式边缘节点组成的虚拟网络。阿里云 CDN 可减少源站负载&#xff0c;防止网络拥塞&#xff0c;使用阿里云 CDN 加速图像、小文件、…

SAP ME2L/ME2M/ME3M报表增强添加字段(包含:LMEREPI02、SE18:ES_BADI_ME_REPORTING)

ME2L、ME2M、ME3M这三个报表的字段增强&#xff0c;核心点都在同一个结构里 SE11:MEREP_OUTTAB_PURCHDOC 在这里加字段&#xff0c;如果要加的字段是EKKO、EKPO里的数据&#xff0c;直接加进去&#xff0c;啥都不用做&#xff0c;就完成了 如果要加的字段不在EKKO和EKPO这两个…

LabVIEW控制通用工作台

LabVIEW控制通用工作台 用于教育目的的计算机化实验室显着增长&#xff0c;特别是用于运动控制的实验室。它们代表了各种工业应用中不断扩大的领域&#xff0c;并成为以安全的方式使用通常昂贵或独特的实验室设备进行实时实验的宝贵工具。NI LabVIEW等软件应用程序的开发和不断…

Linux 中复制文件并保持修改时间等属性

一、遇到的问题 Linux使用cp命令复制文件备份时&#xff0c;发现文件的修改时间变成当前时间了&#xff0c;想要保留备份文件原有的修改时间及其它文件属性。 二、实现 1、cp命令 在 Linux 中&#xff0c;你可以使用 cp 命令来复制文件&#xff0c;并通过 -p 或 --preserve…

二进制转字符串(小数)

题目&#xff1a; 给定一个介于0和1之间的实数&#xff08;如0.72&#xff09;&#xff0c;类型为double&#xff0c;打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示&#xff0c;则打印“ERROR”。 示例: 输入&#xff1a;0.625 输出&#xff1a;"…

智慧工地源码,互联网+建筑工地,基于微服务+Java+Spring Cloud +Vue+UniApp开发

基于微服务JavaSpring Cloud VueUniApp MySql开发的智慧工地云平台源码 智慧工地概念&#xff1a; 智慧工地就是互联网建筑工地&#xff0c;是将互联网的理念和技术引入建筑工地&#xff0c;然后以物联网、移动互联网技术为基础&#xff0c;充分应用BIM、大数据、人工智能、移…

【jvm】类加载器的分类

目录 一、说明二、示例2.1 代码2.2 截图 三、启动类加载器四、扩展类加载器五、应用程序类加载器 一、说明 1.jvm支持两种类型的类加载器&#xff0c;分别是引导类加载器&#xff08;bootstrap classloader&#xff09;和自定义类加载器&#xff08;user-defined classloader&a…

【springboot启动报错】java: 错误: 无效的源发行版:17

报错截图 解决方案 第一步&#xff1a;编辑配置&#xff0c;改为想用的jdk版本 第二步&#xff1a;文件--->项目结构&#xff0c;改为对应的SDK 第三步&#xff1a;文件--->设置--->构建、执行、部署--->编译器--->Java编译器&#xff0c;修改目标字节码版本 第…

fiddler抓包工具的用法以及抓取手机报文定位bug

前言&#xff1a; fiddler抓包工具是日常测试中常用的一种bug定位工具 一 抓取https报文步骤 使用方法&#xff1a; 1 首先打开fiddler工具将证书导出 点击TOOLS------Options------Https-----Actions---选中第二个选项 2 把证书导出到桌面后 打开谷歌浏览器 设置---高级…

自定义 视频/音频 进度条

复制代码根据自己需求改动就可以了 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><metaname"viewport"conten…

【BASH】回顾与知识点梳理(二十五)

【BASH】回顾与知识点梳理 二十五 二十五. 特殊shell、PAM 模块、讯息传递和大量建置账号25.1 特殊shell特殊的 shell, /sbin/nologin 25.2 PAM模块25.3 Linux 主机上的用户讯息传递查询使用者&#xff1a; w, who, last, lastlog使用者对谈&#xff1a; write, mesg, wall使用…

Vue3组件库

Vue组件库 ViteVue3TypescriptTSX 1、项目搭建 1.1、创建项目&#xff08;yarn&#xff09; D:\WebstromProject>yarn create vite yarn create v1.22.19 [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... [4/4] Building fresh pa…