docker入门加实战—docker常见命令

在介绍命令之前,先用一副图形象的展示一下docker的命令:

常见命令

docker的常见命令和文档地址如下表:

命令 说明 文档地址
docker pull 拉取镜像 docker pull
docker push 推送镜像到DockerRegistry docker push
docker images 查看本地镜像 docker images
docker rmi 删除本地镜像 docker rmi
docker run 创建并运行容器(不能重复创建) docker run
docker stop 停止指定容器 docker stop
docker start 启动指定容器 docker start
docker restart 重新启动容器 docker restart
docker rm 删除指定容器 docs.docker.com
docker ps 查看容器 docker ps
docker logs 查看容器运行日志 docker logs
docker exec 进入容器 docker exec
docker save 保存镜像到本地压缩文件 docker save
docker load 加载本地压缩文件到镜像 docker load
docker inspect 查看容器详细信息 docker inspect

常见命令演示

在演示常见命令时,先介绍一下使得docker和容器开机自启的命令:

# Docker开机自启
systemctl enable docker # Docker容器开机自启
docker update --restart=always [容器名/容器id]

查看DockerHub,拉取Nginx镜像,创建并运行Nginx容器为例,来演示常见命令。

  1. 在DockerHub中搜索Nginx镜像,查看镜像的名称

    打开dockerhub网站dockerhub

    搜索nginx

    在这里便能看到拉取镜像的命令了:

  2. 拉取Nginx镜像

    docker pull nginx

    拉取成功界面:

  3. 查看本地镜像列表

    输入如下命令:

    docker images

    从而证明拉取成功了。

  4. 创建并运行Nginx容器

    输入如下命令:

    docker run -d --name nginx -p 80:80 nginx

  5. 查看容器

    docker ps

    对输出内容作格式化:

    docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"

  6. 停止容器

    docker stop nginx

    再次查看容器

    docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"

    可以发现nginx容器已经停掉了。

    # 查看所有的容器需要添加-a参数
    docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}" -a

  7. 再次启动容器

    docker start nginx

  8. 查看日志

    docker logs nginx
    # 或者加上-f参数 一直查看日志,不停
    docker logs -f nginx

  9. 查看容器详细信息

    docker inspect nginx

  10. 进入Nginx容器

    docker exec -it nginx bash
    # -it参数 表示 可交互的终端
    # bash表示使用命令行进行交互

  11. 退出容器

    exit

  12. 删除容器

    docker rm nginx

    发现无法删除;

    有两种解决方案:

    • 停掉容器再删除

      docker stop nginx
      docker rm nginx
    • 强制删除

      docker rm nginx -f

命令别名

我们发现docker ps命令输出内容比较多,我们需要使用format来格式化输出,但是这条命令比较长,我们可以给他起个别名:

修改bashrc文件

# 修改/root/.bashrc文件
vi /root/.bashrc

原始内容如下:

内容如下:

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
alias dis='docker images' # Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

使其生效

source /root/.bashrc

查看命令别名:

dps

docker入门加实战—docker常见命令的更多相关文章

  1. Docker入门教程(二)命令

    Docker入门教程(二)命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker ...

  2. docker入门_image、container相关命令

    docker入门_image.container相关命令 镜像仓库服务.镜像仓库.镜像相关概念 镜像仓库服务:docker镜像仓库服务.阿里云镜像服务 镜像仓库:docker镜像仓库服务中会有很多仓库 ...

  3. SpringBoot Docker入门,SpringBoot Docker安装

    SpringBoot Docker入门,SpringBoot Docker安装 ================================ ©Copyright 蕃薯耀 2018年4月8日 ht ...

  4. Docker小白到实战之常用命令演示,通俗易懂

    前言 上一篇大概认识了Docker,主要是从概念.架构.优点及流程方面进行阐述,并进行安装和体验: 接下来就开始进行实操学习,在演示过程中会针对关键的知识点进行归纳和总结,这里先从常用命令说起,来吧, ...

  5. docker 保存,加载,导入,导出 命令

    持久化docker的镜像或容器的方法 docker的镜像和容器可以有两种方式来导出 docker save #ID or #Name docker export #ID or #Name docker ...

  6. Docker入门与实战讲解

    转载自:http://blog.csdn.net/relax_hb/article/details/69668815 简述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包 ...

  7. Docker入门到实战

    1.系统要求 Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10. CentOS 7满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存 ...

  8. Docker入门之安装Docker

    目录 目录 1 1. 前言 1 2. 创建网桥 2 3. 安装Docker 2 3.1. 二进制安装 3 3.1.1. 下载安装 3 3.1.2. 配置服务 3 3.1.3. 启动服务 4 3.2. ...

  9. Docker 入门及安装[Docker 系列-1]

    docker 如日中天,这不是单纯的炒概念,docker 确确实实解决了开发与运维的痛点,因此在企业开发中得到了非常广泛的使用,本文对于 docker 的这些基本知识点再做一些简单回顾. 什么是 do ...

  10. 【docker 入门 - 01】- Docker 在 Centos7 上安装与测试

    一.学习文档 官网网站: https://www.docker.com 中文网站:http://www.docker-cn.com 官方安装文档:https://docs.docker.com/ins ...

随机推荐

  1. Java正三角、倒三角

    正三角 public static void main(String[] args) { // 正三角 int num = 8; for(int i = 1;i<=num;i++) { for( ...

  2. 精选Golang高频面试题和答案汇总

    大家好,我是阳哥. 之前写的< GO必知必会面试题汇总>,已经阅读破万,收藏230+. 也欢迎大家收藏.转发本文. 这篇文章给大家整理了17道Go语言高频面试题和答案详解,每道题都给出了代 ...

  3. Profinet转EtherNet/IP网关连接AB PLC的应用案例

    西门子S7-1500 PLC(profinet)与AB PLC以太网通讯(EtherNet/IP).本文主要介绍捷米特JM-EIP-PN的Profinet转EtherNet/IP网关,连接西门子S7- ...

  4. 实例讲解看nsenter带你“上帝视角”看网络

    摘要:本文重点关注进入目标进程的"网络ns"视角,即站在「容器中的进程视角」看待容器里面的网络世界,并在那个视角中执行命令. 本文分享自华为云社区<<跟唐老师学习云网络 ...

  5. 跟运维学 Linux - 01

    跟运维学 Linux - 01 运维的诞生 运维工程师有很多叫法:系统运维.Linux 工程师.系统管理员... 网管可以说是运维工程师最早的雏形.在个人电脑未普及时,大家去网吧玩游戏. 玩家:&qu ...

  6. Ubuntu 20.04使用 VNC远程桌面连接避坑指南

    Ubuntu 20.04使用 VNC远程桌面连接避坑指南 自从开始使用Ubuntu 20.04搭建深度学习服务器,就想到使用VNC远程桌面连接使用.可是之前一直使用的是Ubuntu18.04,心里想着 ...

  7. Nginx获取用户真实IP

    Nginx获取用户真实IP地址 本人在一次项目中,使用Nginx需要获取到用户IP,本来可以很常规的获取的,可现实往往不常规,项目是前后端分离的,部署时,前端使用了Nginx进行了代理并转发,后端也使 ...

  8. nodejs中事件循环机制与面试题详解

    nodejs中架构如下图所示,通过v8引擎来执行js代码,通过中间层 libuv 来读写文件系统.网络等做一些操作.     nodejs中提供阻塞和非阻塞的调用方式,比如fs模块中读取文件,可以根据 ...

  9. [pandas]从多个文件中构建dataframe

    按列从多个文件中构建 假设有两个csv文件,列不相同,需要整合为一个dataframe,使用glob模块: from glob import glob import pandas as pd # gl ...

  10. 二代水务系统架构设计分享——DDD+个性化

    系统要求 C/S架构的单体桌面应用,可以满足客户个性化需求,易于升级和维护.相比于一代Winform,界面要求美观,控件丰富可定制. 解决方案 依托.Net6开发平台,采用模块化思想设计(即分而治之的 ...