三、Docker 常用命令

这篇具有很好参考价值的文章主要介绍了三、Docker 常用命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.帮助命令

  • docker --version

  • docker info

  • docker --help

防火墙相关帮助

启动: systemctl start firewalld.service
关闭: systemctl stop firewalld.service
查看状态: firewall-cmd --state 
开机禁用  : systemctl disable firewalld.service
开机启用  : systemctl enable firewalld
添加受信任的端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
删除端口:firewall-cmd --zone=public --remove-port=6379/tcp --permanent
查看所有打开的端口: firewall-cmd --zone=public --list-ports
重新载入:firewall-cmd --reload

 

 

常用的一些工具

安装wget

yum install wget -y

 

Linux wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器。如果我们使用虚拟主机,处理这样的事务我们只能先从远程服务器下载到我们电脑磁盘,然后再用ftp工具上传到服务器。这样既浪费时间又浪费精力,那不没办法的事。而到了Linux VPS,它则可以直接下载到服务器而不用经过上传这一步。wget工具体积小但功能完善,它支持断点下载功能,同时支持FTP和HTTP下载方式,支持代理服务器和设置起来方便简单。下面我们以实例的形式说明怎么使用wget。

以下的例子是从网络下载一个文件并保存在当前目录

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。

 

安装vim

vim 是一个全屏幕纯文本编辑器,是 vi 编辑器的增强版。

yum install vim -y

 

安装net-tools

yum install net-tools -y

 

net-tools 安装完毕之后可以使用的命令有:

  • netstat : 查看应用程序的端口状况

  • ifconfig :查看网卡相关信息

  • hostname: 查看主机相关信息

  • route : 打印linux 路由相关信息

 

建议将IP设置为静态

  1. 在VMware里,依次点击”编辑“ - ”虚拟网络编辑器“,如下图,我选择的是NAT模式:三、Docker 常用命令记下自己的子网掩码与网关IP,后面要用到

    1. 记下自己的子网掩码与网关IP,后面要用到

    三、Docker 常用命令

     

     

 

 

  1. 以root权限登陆centos7并编辑ifcfg-ens33这个文件,效果如下(有些版本值是有双引号的):

    vim /etc/sysconfig/network-scripts/ifcfg-ens33

     

    TYPE=Ethernet

    BOOTPROTO=static #设置静态Ip 

    DEFROUTE=yes

    IPV4_FAILURE_FATAL=no

    IPV6INIT=yes

    IPV6_AUTOCONF=yes

    IPV6_DEFROUTE=yes

    IPV6_FAILURE_FATAL=no

    NAME=eno16777736

    UUID=4f40dedc-031b-4b72-ad4d-ef4721947439

    DEVICE=eno16777736

    ONBOOT=yes #这里如果为no的话就改为yes,表示网卡设备自动启动 

    PEERDNS=yes

    PEERROUTES=yes

    IPV6_PEERDNS=yes

    IPV6_PEERROUTES=yes

    IPV6_PRIVACY=no

    GATEWAY=192.168.253.2 #这里的网关地址就是第二步获取到的那个网关地址

    IPADDR=192.168.253.137  #配置ip,在第二步已经设置ip处于192.168.253.xxx这个范围,我就随便设为137了,只要不和网关相同均可 

    NETMASK=255.255.255.0 #子网掩码 

    DNS1=8.8.8.8 #dns服务器1,填写你所在的网络可用的dns服务器地址即可 

    DNS2=4.4.4.4 #dns服器2

  2. 重启网卡服务

    service network restart

     

     

2. 镜像命令

2.1 列出本地

语法:docker images [options]

options说明:

  • -a 列出本地所有的镜像(包含中间映像层)

  • -q 只显示镜像ID

  • --digests 显示镜像摘要信息

  • -- no-trunc 显示完整的镜像信息

如:docker images

2.2 镜像搜索

语法: docker search 某个镜像名字或者ID [options]

网站:https://hub.docker.com

options 说明:

  • --no-trunc:显示完整的镜像描述

  • -- limit int: 表示只列前xx项

例如:docker search centos:7

2.3 下载镜像

语法:docker pull 镜像名字:[TAG]. 若未写版本号,则默认为最新版(lasted)

如:docker pull redis:3.2

2.4 删除镜像

语法:docker rmi 某个镜像名称或者ID

  • 删除单个:docker rmi 镜像ID:Tag

  • 强制删除:docker rmi -f 镜像ID

  • 删除多个:docker rmi -f 镜像名1:Tag 镜像名2:tag

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

3. 容器命令

3.1 启动容器

语法 :docker run [options] 镜像名称 [COMMOND] [ARG...]

OPTIONS说明(常用):有些是一个减号,有些是两个减号

--name="容器新名字": 为容器指定一个名称(如果不指定,系统会随机给一个名字); -d: 后台运行容器,并返回容器ID,也即启动守护式容器; -i:以交互模式运行容器,通常与 -t 同时使用; -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用; -p: 指定端口映射

-P(大写): 随机分配端口

使用镜像centos:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。 交互模式: docker run -it centos /bin/bash

守护模式:docker run -id centos /bin/bash

如:

测试:

$ docker run -it --name=c_redis -p 6379:6379 redis:3.2 /bin/bash 
$ docker exec -it c_redis redis-cli -h 127.0.0.1 -p 6379

 

3.2 列出容器列表

语法:docker ps [options]

OPTIONS说明(常用):

-a :列出当前所有正在运行的容器+历史上运行过的 -l :显示最近创建的容器。 -n:显示最近n个创建的容器。 -q :静默模式,只显示容器编号。 --no-trunc :不截断输出。

 

STATUS: 容器状态有7种:

created(已创建)
restarting(重启中)
running|UP(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)

 

3.3 进入与退出容器

docker exec -it 容器名或者容器id /bin/bash

docker exec -it c_redis /bin/bash

 

docker attach -it 容器名或者容器

docker attach 容器名或者容器

 

  • 容器停止退出:exit

  • 容器不停止退出:ctrl+P+Q

 

docker attach

docker attach可以attach到一个已经运行的容器的stdin,然后进行命令执行的动作。但是需要注意的是,如果从这个stdin中exit,会导致容器的停止。

stdin: 标准的输入输出流

PS:

docker attach 命令输入后会卡顿,需要手动敲入Enter后才能到达container里面。 在我的容器内输入Ctrl+C是不起作用的。 输入exit或者Ctrl+D后容器直接退出会导致container的停止。

docker exec

用docker exec -it命令进入容器如果输入exit命令直接退出container,但是不会使得container停止,平时我用这个命令比较多。

3.4 启动容器

docker start 容器ID或者容器名

如 :docker start c_redis

3.5 重启容器

docker restart 容器ID或者容器名

如 :docker restart c_redis

3.6停止容器

docker stop 容器ID或者容器名

如: docker stop c_redis

3.7 强制停止容器

docker kill 容器ID或者容器名

如:docker kill c_redis

 

kill vs stop

两个命令都是停止docker,不同之处在于:

  • docker stop: 先发SIGTERM信号给docker,允许其在一定时间(默认10s)内进行一些操作(例如资源回收),若这段时间内容器未停止,则发送SIGKILL信号强行杀死容器;

  • docker kill: 直接发送SIGKILL信号杀死容器。

SIGTERMSIGKILL的区别在于,前者是告知你的租期到了,请你赶紧收拾行李离开;后者是你的租期到了,直接将你扫地出门。

简而言之,相比kill,stop给了容器自行处理结束的时间,更为优雅

3.8 删除容器

docker rm -f 容器ID或者容器名

如:docker rm -f c_redis

PS:无法删除正在运行的容器,加 -f 强制删除

删除所有容器

docker rm -f $(docker ps -qa)

 

3.9 重要

3.9.1 查看日志:

docker logs -f -t --tail 容器ID

  • -t 是加入时间戳

  • -f 跟随最新的日志打印

  • --tail 数字 显示最后多少条

    $ docker logs [OPTIONS] CONTAINER
      Options:
            --details        显示更多的信息
        -f, --follow         跟踪实时日志
            --since string   显示最后某个timestamp之内的日志,或相对时间,如42m(即42分钟以内)
            --tail string    从日志末尾显示多少行日志, 默认是all
        -t, --timestamps     显示时间戳
            --until string   显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

     

    例子:

    查看指定时间后的日志,只显示最后100行:

    $ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID

     

    查看最近30分钟的日志:

    $ docker logs --since 30m CONTAINER_ID

     

    查看某时间之后的日志:

    $ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID

     

    查看指定时间后的日志,只显示最后100行:

    $ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID

     

    查看某时间段日志:

    $ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID

     

     

3.9.2 查看容器内运行的进程

docker top 容器ID

3.9.3 查看容器内部细节

docker inspect 容器ID

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

  • docker exec -it 容器ID /bin/bash

  • 重新进入 : docker attach 容器ID

  • 区别:attach 直接进入容器启动命令的终端,不会启动新的进程,exec是在容器中打开新的终端,并且可以启动新的进程

3.9.5 文件拷贝

docker cp 需要拷贝的文件或目录 容器名称:容器目录

docker cp 1.txt c2:/root 

 

docker cp 容器名称:容器目录 需要拷贝的文件或目录

docker cp c2:/root/2.txt /root 

 

3.10 批量操作容器

  1. 批量启动所有容器

    docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

     

  2. 批量设置所有容器开机启动

    docker update --restart=always  $(docker ps -a | awk '{ print $1}' | tail -n +2)

     

     配套视频链接:全网首发java/.net双案例Docker精品课程,Docker 进阶教程(双语言双案例助力教学)-已完结_哔哩哔哩_bilibili文章来源地址https://www.toymoban.com/news/detail-747561.html

到了这里,关于三、Docker 常用命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Docker | 2】Docker常用命令介绍

      Docker 是一种轻量级的容器化技术,常用于构建、打包、部署和运行应用程序。以下是一些常用的 Docker 命令及其详细介绍: 语法介绍 运行一个 Docker 容器。 OPTIONS :可选参数,用于配置容器的行为。 IMAGE :必选参数,指定要运行的容器镜像。 COMMAND :可选参数,覆盖容器

    2024年02月14日
    浏览(46)
  • Docker笔记 Docker架构与常用命令

    大家好 我是积极向上的湘锅锅💪💪💪 首先Docker由三大部分组成 Clients:客户端 通过docker的客户端操作命令,然后命令发送到daemon(守护进程)里面去执行操作 Hosts:主机 主机包括俩个部分,分别是 local host 和 remote host ,意思是本机和远程的机器。 而在local host这个部分里面

    2024年02月13日
    浏览(44)
  • ubuntu安装docker及docker常用命令

    docker里有三个部分 daemon 镜像 和 容器 我们需要了解的概念 容器 镜像 数据卷 容器的数据卷。理解为一个文件或者一个目录。 宿主机(安装docker的机器)和容器,容器和容器之间可以有一块共同的空间,她们所有都可以对这块空间操作,写入,修改,删除等等,一处修改,多

    2024年02月04日
    浏览(47)
  • 27-Docker-常用命令详解-docker tag

    前言 本篇来学习docker tag 命令 docker tag 作用:标记本地镜像,将其归入某一仓库。 语法格式 使用示例 打了新的 TAG 虽然会多了一条记录,但是从 IMAGE ID 可以得知他们是同一个镜像

    2024年02月17日
    浏览(39)
  • 20-Docker-常用命令详解-docker attach

    前言 本篇来学习docker attach命令 docker attach 作用:进入容器正在执行的终端 语法格式 options 说明 option 说明 –detach-keys 指定退出attach模式的快捷键序列,默认是 CTRL-p –no-stdin 是否挂你标准输入,默认是打开 –sig-proxy 是否代理收到的系统信号给应用进程,默认为true 使用示例

    2024年02月09日
    浏览(102)
  • 36-Docker-常用命令详解-docker inspect

    前言 本篇来学习docker inspect命令 docker inspect 作用:获取容器/镜像的元数据。 options说明 option 说明 -f 指定返回值的模板文件 -s 如果类型为容器,则显示文件总大小 –type 返回指定类型的JSON 使用示例 获取容器ip 获取容器mac地址 获取容器日志路径 获取容器镜像名 获取容器目

    2024年02月13日
    浏览(42)
  • Docker搭建Ubuntu环境及Docker常用命令

    演示一遍用docker搭建Ubuntu 20.04环境,请确保你的电脑已安装docker应用,可以从Docker官网下载。Windows可以打开powershell运行以下命令,mac和linux直接用terminal即可。 检查docker是否安装好: docker --version 出现 Docker version xx.xx.xx 即表示docker安装成功。 创建并运行Ubuntu 20.04容器: do

    2024年02月04日
    浏览(52)
  • 【云原生丶Docker】Docker容器常用命令大全

    在 Docker 核心概念理解 一文中,我们知道 Docker容器 其实就是一个轻量级的沙盒,应用运行在不同的容器中从而实现隔离效果。容器的创建和运行是以镜像为基础的,容器可以被创建、销毁、启动和停止等。本文将介绍下容器的这些常用操作命令。 docker run 命令表示新建并运

    2024年02月04日
    浏览(51)
  • 【云原生丶Docker】Docker镜像常用命令大全

    镜像是Docker中最为核心也是最具创造性的概念!在理解Docker的核心概念文章中,我们理解了镜像的含义,下面让我们一起操作一些镜像,包括拉取、推送镜像等操作。 通过 docker image help 查看 Docker 支持的镜像命令有哪些。 通过 docker pull 命令拉取镜像。 镜像由镜像名字和标签

    2024年02月11日
    浏览(55)
  • (Linux)Docker完全卸载与Docker安装和Docker常用命令

    ​ 使用yum安装docker 如需卸载docker可以按下面步骤操作: 其他的docker相关的安装包同样删除操作,删完之后可以再查看下docker rpm源 删除上述的docker目录 到此docker卸载就完成了 首先确定把相应的前置包都安装好 下载Docker依赖组件 之后操作命令行执行命令: 然后再执行: 然

    2024年02月09日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包