Docker容器使用

1、Docker客户端

      命令docker可以查看到Docker客户端的所有命令选项。

      命令docker command --help更深入的了解指定的Docker命令使用方法。

2、容器使用

    (1)获取镜像:docker pull 镜像

        如果我们本地没有ubuntu镜像,我们可以使用docker pull命令来载入ubuntu镜像:docker pull ubuntu

    (2)创建并运行容器:docker run 镜像

        使用ubuntu镜像启动一个容器,参数为以命令行模式进入该容器:docker run -it ubuntu /bin/bash

        参数说明:

        -i: 交互式操作。

        -t: 终端。

        ubuntu: ubuntu 镜像。

        /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

        要退出终端,直接输入exit

    (3)后台运行容器:docker run -d 镜像

        docker run -itd --name ubuntu-test ubuntu /bin/bash

        注:进入容器:在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器使用以下指令:

                docker attach 容器ID

                docker exec 容器ID:推荐使用 docker exec命令,因为此退出容器终端,不会导致容器的停止。

                如:docker exec -it 243c32535da7 /bin/bash

    (4)启停容器

        查看所有的容器命令:docker ps -a

        查看所有容器状态:docker status -a

        启动一个已停止的容器:docker start 容器ID

        停止一个容器:docker stop 容器ID

        重启一个容器:docker restart 容器ID

    (5)导入导出容器

        导出容器:docker export 容器ID > 容器快照文件

        如docker export 1e560fca3906 > ubuntu.tar

        导入容器:docker import 容器快照文件 - 镜像

        可以使用 docker import从容器快照文件中再导入为镜像,以下实例将快照文件ubuntu.tar导入到镜像 test/ubuntu:v1:

        cat docker/ubuntu.tar | docker import - test/ubuntu:v1

        也可以通过指定URL或者某个目录来导入:

        docker import http://example.com/exampleimage.tgz example/imagerepo

    (6)删除容器

        删除一个容器:docker rm -f 容器ID

    (7)清理掉所有处于终止状态的容器

        清理掉所有处于终止状态的容器:docker container prune

3、扩展

    (1)运行一个web应用:docker run -P 镜像

        如:

        docker pull training/webapp # 载入镜像

        docker run -d -P training/webapp python app.py

        docker run -d -p 5000:5000 training/webapp python app.py

        参数说明:

        -d:让容器在后台运行。

        -P:将容器内部使用的网络端口随机映射到我们使用的主机上。

        -p:指定端口映射

    (2)查看WEB应用容器 docker ps

    (3)网络端口的快捷方式:docker port 容器ID或容器名字

        通过docker ps命令可以查看到容器的端口映射,docker还提供了另一个快捷方式docker port,使用docker port可以查看指定(ID 或者名字)容器的某个确定端口映射到宿主机的端口号。

    (4)查看WEB应用程序日志:docker log 容器ID或容器名字

        docker logs -f bf08b7f2cd89

        参数说明:

        -f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。

    (5)查看WEB应用程序容器的进程:docker top 容器ID或容器名字

        可以使用docker top来查看容器内部运行的进程:docker top wizardly_chandrasekhar

    (6)检查WEB应用程序:docker inspect 容器ID或容器名字

        使用docker inspect来查看Docker的底层信息。它会返回一个JSON文件记录着Docker容器的配置和状态信息。

        docker inspect wizardly_chandrasekhar

    (7)停止WEB应用容器:docker stop 容器ID或容器名字

    (8)启动WEB应用容器:docker start 容器ID或容器名字

    (9)重启WEB应用容器:docker restart 容器ID或容器名字

    (10)移除WEB应用容器:docker rm 容器ID或容器名字

Docker学习(二)——Docker容器使用的更多相关文章

  1. Docker学习之Docker容器基本使用

    Docker学习之Docker容器基本使用 新建容器并启动 命令格式:docker run --options repository:tag 后台运行 命令格式:-d 已存在的容器相关操作 启动:do ...

  2. AspNetCore容器化(Docker)部署(二) —— 多容器通信

    一.前言 着上一篇 AspNetCore容器化(Docker)部署(一) —— 入门,在单个容器helloworld的基础上引入nginx反向代理服务器组成多容器应用. 二.配置反向代理转接 配置转接 ...

  3. Docker学习笔记 — Docker私有仓库搭建

    Docker学习笔记 — Docker私有仓库搭建   目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2   和Mavan的管理一样,Dockers ...

  4. Docker学习之Docker镜像基本使用

    Docker学习之Docker镜像基本使用 获取镜像 命令格式:docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] 例如: docker pull ...

  5. Docker学习笔记 - Docker容器内部署redis

    Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...

  6. Docker学习笔记 - Docker容器之间的连接

    学习目标: 容器之间可以相互连接访问:: --link redis:redisAlias 准备工作 FROM ubuntu:14.04 RUN apt-get install -y ping RUN  ...

  7. Docker学习笔记 - Docker的数据卷容器

    一.什么是数据卷容器 如果你有一些持续更新的数据需要在容器之间共享,最好创建数据卷容器. 数据卷容器:用于容器间的数据共享,主动挂载宿主机目录,用于其他容器挂载和共享. 二.数据卷容器的操作 1.创建 ...

  8. Docker实践(二):容器的管理(创建、查看、启动、终止、删除)

    docker官方文档地址如下:[https://docs.docker.com/engine/reference/](https://docs.docker.com/engine/reference/ ...

  9. DOCKER学习_002:Docker的容器管理

    一 Docker的基本信息 前面已经安装了Docker,现在看一下已安装Docker的安装环境以及其他信息 1.1 系统环境 [root@docker-server3 ~]# uname -r -.e ...

  10. Docker学习之3——容器

    容器(Container) 容器介绍: docker是通过容器来运行业务的,就像运行一个kvm虚拟机是一样的.容器其实就是从镜像创建的一个实例. 我们可以对容器进行增删改查,容器之间也是相互隔离的.和 ...

随机推荐

  1. Java中Lambda表达式的进化之路

    Lambda表达式的进化之路 为什么要使用Lambda表达式 可以简洁代码,提高代码的可读性 可以避免匿名内部类定义过多导致逻辑紊乱 在原先实现接口抽象方法的时候,需要通过定义一个实现接口的外部类来实 ...

  2. Downward API —— 在容器内部获取 Pod 信息

    我们知道,每个 Pod 在被超过创建出来之后,都会被系统分配唯一的名字.IP地址,并且处于某个 Namespace 中,那么我们如何在 Pod 的容器内获取 Pod 的这些重要信息呢? 答案就是使用 ...

  3. 简单理解函数声明(以signal函数为例)

    这两天遇到一些声明比较复杂的函数,比如signal函数,那我们先简单说说signal函数的用法:(参考<c陷阱与缺陷>) [signal:几乎所有c语言程序的实现过程中都要用到signal ...

  4. Java的基本数据类型和数据类型转换

    首先java属于强类型语言,要求变量的使用要严格遵守规范,所有变量都必须先定义后才能使用. Java的数据类型分为以下两种: 1 基础数据类型(primtive type) 和 2 引用数据类型(re ...

  5. 【AI测试】人工智能 (AI) 测试--第二篇

    测试用例 人工智能 (AI) 测试 或者说是 算法测试,主要做的有三件事. 收集测试数据 思考需要什么样的测试数据,测试数据的标注 跑测试数据 编写测试脚本批量运行 查看数据结果 统计正确和错误的个数 ...

  6. Java 中的关键字

    Java 中有多少个关键字,有大小写之分吗? Java 中有 48 个关键字在使用 + 两个保留关键字未使用,共 50 个关键字. Java 关键字全部都由是小写组成. Java 中保留关键字分别是哪 ...

  7. dedecms被挂马排毒的过程

    又经历了一次dedecms被挂马排毒的过程,排毒过程在这里跟大家分享一下. 挂马之后,网站的表现形式: 直接访问网站没有任何问题,从百度搜索的关键词访问网站,就跳转到另外一个网站. 根据我原来的排毒经 ...

  8. Android SeekBar 自定义thumb,thumb旋转动画效果

    简介 某些音乐播放或者视频播放的界面上,资源还在加载时,进度条的原点(thumb)会显示一个转圈的效果. 资源加载完成后,又切换回静态效果.这个效果增强了用户体验. 一般来说有美术人员负责设计和切图. ...

  9. 100_第一个vue-cli项目

    目录 什么是vue-cli 主要的功能 需要的环境 Node.js : http://nodejs.cn/download/ Git : https://git-scm.com/downloads 安 ...

  10. [bzoj1982]Moving Pebbles

    首先发现当n堆石子可以两两配对时,后手必胜,因为后手可以模仿先手那么当n堆石子不能两两配对时,先手必胜,因为先手可以做到让其两两配对,然后即先手必胜 这个东西用map维护即可 1 #include&l ...