一、镜像操作

1.搜索镜像

可以直接在Docker Hub 直接搜索镜像,当然也可以使用命令来搜索。

docker search 名称

docker search tomcat

2.拉取镜像

docker pull 镜像名

#拉取redis3.0
docker pull redis:3.0

3.查看镜像列表

Docker镜像保存在/var/lib/docker

docker images
docker images -a
docker images -q(显示id)

4.删除镜像

docker rmi 镜像名

#删除hello-world镜像
docker rmi hello-world #强制删除有容器依赖的镜像
docker rmi -f hello-world

二、容器操作

1.创建容器

①docker create

可以先通过docker create创建容器,再通过docker start启动

②docker run

创建并启动容器(运行时容器)

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

[OPTIONS]:

  • -d: 后台运行容器,并返回容器ID;  
  • --name="xx": 为容器指定一个名称;
  • -i:以交互模式运行容器,通常与 -t 同时使用;
  • -t:为容器分配虚拟终端,允许发信号给容器。tty
  • -P: 随机端口映射;
  • -p: 指定端口映射,有以下四种格式

例子:

# 基于最新版redis镜像创建容器,命名为myredis,将主机的16379端口映射到容器内的6379端口。
docker create --name myredis -p : redis:latest

2.列出容器

docker ps [OPTIONS]

[OPTIONS]:

  • -a:显示所有容器,包括未运行的
  • -l:显示最近创建的容器
  • -n:显示最近创建的n各容器

3.启动/停止/重启容器

docker start 容器ID/容器名
docker stop 容器ID/容器名
docker restart 容器ID/容器名

4.删除容器

#删除容器
docker rm 容器ID/容器名 #强制删除运行中的容器
docker rm -f 容器ID/容器名
  • -f :强制删除运行中的容器
  • -l :移除容器间的网络连接,而非容器本身
  • -v :删除与容器关联的卷

5.在运行的容器中执行命令

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

例子:

#进入到redis容器中,并开启一个交互模式的终端
docker exec -it redis /bin/bash #在容器mynginx中以交互模式执行容器内/root/runoob.sh脚本
docker exec -it mynginx /bin/sh /root/runoob.sh

使用ctrl + d退出容器

6.查看容器的日志

docker logs 容器

Options:

  • -f, 跟踪日志输出
  • -t, 显示时间戳
docker logs -f redis

三、上传镜像到阿里云镜像仓库

可以将本地镜像上传到Docker Hub上,也可以上传到其它服务器,例如阿里云镜像仓库。上传到hub上太慢了,这里选择上传到阿里云镜像仓库中。

可以参考阿里云官网的教程:上传本地镜像

1.先要有阿里云账号,登录容器镜像服务控制台

2.设置阿里云 Docker registry 登录密码

如果是首次访问,系统会提示您进行初始化设置。设置您的登录密码,并单击确定。

3.创建命名空间。

4.创建镜像仓库。

      

接下来可以进入管理,查看具体的操作指南

5.执行Docker登录命令,并输入密码。

sudo docker login --username=阿里云用户名 registry.cn-beijing.aliyuncs.com

6.重命名镜像。

  • 如果您本地的镜像是通过构建生成的,构建过程中需要指定 tag 信息。
$ sudo docker tag [镜像id] registry.cn-beijing.aliyuncs.com/命名空间/仓库:[镜像版本号]
  • 如果您本地的镜像是从其它仓库下载的,已有了 registry 名、命令空间、仓库名和 tag 名称,上传到阿里云 registry 之前需要执行 Docker tag 命令进行修改。
[root@localhost application]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 4ab4c602aa5e 2 months ago 1.84kB
[root@localhost application]# sudo docker tag 4ab4c602aa5e registry.cn-hangzhou.aliyuncs.com/lp_namespace/helloworld:helloworld-1.0

7.上传镜像到阿里云 Docker registry。

sudo docker push registry.cn-hangzhou.aliyuncs.com/lp_namespace/helloworld:helloworld-1.0

8. 从Registry中拉取镜像

$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/lp_namespace/helloworld:hello-world-1.0

更多详情请参考阿里云官网的教程:上传本地镜像

docker(三) 镜像和容器常用命令的更多相关文章

  1. Docker的镜像及容器常用操作(2)

    一.docker镜像 镜像(docker image) --- Docker 运行容器之前需要本地存在镜像,若本能地不存在,那么 Docker 会找默认镜像仓库( Docker Hub 公共注册服务器 ...

  2. Docker系列教程05 容器常用命令

    https://mp.weixin.qq.com/s?__biz=MzI4ODQ3NjE2OA==&mid=2247483890&idx=1&sn=2721f08624e6de ...

  3. Docker基础修炼2--Docker镜像原理及常用命令

    通过前文的讲解对Docker有了基本认识之后,我们开始进入实战操作,本文先演示Docker三要素之镜像原理和相关命令. 本文的演示环境仍然沿用上一篇文章在本地Centos7中安装的环境,如果你本地没有 ...

  4. Docker容器化【Docker镜像与容器相关命令】

    # Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...

  5. docker学习笔记二:常用命令

    docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...

  6. docker-管理容器常用命令

    1. docker-管理容器常用命令 2. docker管理容器常用命令 1)  docker ps 显示当前正在运行的容器 [root@test-1 ~]# docker ps CONTAINER ...

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

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

  8. 一、Linux概述 二、Linux的安装 三、Linux的常用命令(重点)

    一.Linux概述###<1>操作系统 OS,管理和控制 计算机的 硬件和软件资源的 计算机程序. 最基本的系统软件. 是用户和计算机交互的桥梁,是硬件和软件交互的桥梁. 操作系统:she ...

  9. 『现学现忘』Docker常用命令 — 21、容器常用命令(三)

    目录 13.进入正在运行的容器并以命令行交互 (1)方式一 (2)方式二 (3)attach和exec的区别 14.从容器内拷贝文件到主机上 15.Docker常用命令小结 (1)容器生命周期管理 ( ...

随机推荐

  1. 大前端的自动化工厂(2)—— SB Family

    原文链接:https://bbs.huaweicloud.com/blogs/53c0c3509b7a11e89fc57ca23e93a89f 我坦白我是标题党,SB只是SCSS-Bourbon的简写 ...

  2. JDK源码分析(四)—— ConcurrentHashMap

    一.概述 ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable. 锁分段技术 原理:将数据分成一段一段的存储,然后给每一段数据配一把锁,当一 ...

  3. C# 如何获取Url的host以及是否是http

    参考资料:https://sites.google.com/site/netcorenote/asp-net-core/get-scheme-url-host Example there's an g ...

  4. Android开发过程中的坑及解决方法收录(三)

    bug:应用出现了 不幸运的,应用已停止的错误提示 排除问题: 1.intent接收数据的字符串不匹配 2.java常见的NullPointerException(空指针错误),可能由三个原因引起,字 ...

  5. 零基础学Python--------进阶篇 第6章 函数

    第6章 函数 6.1函数的创建和调用 提到函数,大家会想到数学函数吧,函数是数学最重要的一个模块,贯穿整个数学学习过程.在Python中,函数的应用非常广泛.在前面我们已经多次接触过函数.例如,用于输 ...

  6. 廖雪峰老师博客学习《通过生成器generator生成列表式杨辉三角》

    说明:这是我接触生成器概念后,自己对它的理解,可能比较表面,没深入理解,也可能有错误.后续校正错误认知,将有关generator作为一个tag了! 希望以后能活用. 先贴出自己写的triangles( ...

  7. 升级本地部署的CRM到Dynamics 365及部分新特性介绍。

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复241或者20161226可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  8. Python_实现json数据的jsonPath(精简版)定位及增删改操作

    基于python实现json数据的jsonPath(精简版)定位及增删改操作   by:授客 QQ:1033553122 实践环境 win7 64 Python 3.4.0 代码 #-*- encod ...

  9. Android为TV端助力 eclipse build project 出现major.minor version 52.0的问题

    那些网上说的JDK什么的的问题,我求你们不要误人子弟好吗? 出现在这个的原因就是ADT也就是你的SDK manager 的Tools版本跟你的SDK版本不兼容,如果你的是SDK 23.0.2那你的To ...

  10. 学习安卓开发[1] - 程序结构、Activity生命周期及页面通信

    一.程序结构 Android原生应用采用了MVC的架构设计模式,因此可以将一个Android APP中的对象归为Model.View或Controller中的一种. 具体到某个实际的APP结构中,它一 ...