在linux系统中安装完成docker后,我们开始进行docker的镜像、容器的使用。

在使用docker时,首先要明确的两个概念:image(镜像) 与  container (容器)

image:根据官网的解释,镜像是一个为容器提供服务的独立的文件系统,它包含独立运行所需要的文件与代码。

    简单地说:镜像就是一个不包含linux内核而又精简的linux系统

    docker 镜像默认存储在/var/lib/docker/<storage-driver>中,现在最新版本的linux系统的存储驱动一般是overlay2格式

container:容器其实是在镜像的最上层加了一层读写层,在容器运行中所作的任何配置,如启动不同的tomcat容器,

      配置不同端口号,这些配置都保存在读写层不会修改镜像本身的内容。

首先:下载镜像

官方镜像中心仓库地址:https://hub.docker.com/search/?type=image

使用命令:docker pull $imageName   ($imageName为具体镜像名字,如tomcat,nginx等)

第二步:根据镜像创建一个可运行的容器

以tomcat为例,使用


#下载最新的tomcat版本
docker pull tomcat 或 docker image pull tomcat

docker images  #查看本地全部镜像

#以后台交互式窗口的方式运行tomcat镜像,并将容器命名为tomcat8080
#其中-itd为-i -t -d 三个命令的所写
#docker run :创建一个新的容器并运行一个命令
docker run -itd --name tomcat8080 tomcat #查看当前运行的容器信息
docker ps #删除容器的命令
docker rm -f $containerName #强制终止并删除容器

第三步:访问运行的tomcat,确认成果

docker pull $image

直接访问http://localhost:8080访问不成功

原因:因为tomcat8080容器相当于一个独立运行的虚拟机,其ip地址并不是本机的ip,因此我们首先需要确定容器使用的ip

docker inspect NAMES
# 查看容器所有状态信息; docker inspect --format='{{.NetworkSettings.IPAddress}}' $ID / $NAMES
# 查看 容器ip 地址 docker inspect --format '{{.Name}} {{.State.Running}}' NAMES
# 容器运行状态

根据查询的ip地址,访问 http://container-ip:8080.

这一点,在tomcat镜像说明中,有介绍

资料参考:https://www.runoob.com/docker/docker-command-manual.html    docker命令大全

      https://cr.console.aliyun.com/cn-hangzhou/instances/images?search=tomcat  阿里云镜像中心

      https://www.jianshu.com/p/65a5c8d9cb9a  ubuntu配置jdk

      

Docker下载镜像并创建容器运行的更多相关文章

  1. Docker 为 ASP.NET Core WebApi 应用程序生成 Docker 映像,创建容器并运行

    1.使用VS2017新建ASP.NET Core WebApi项目 选择API启用Docker支持 2.为 ASP.NET Core WebApi 应用程序生成 Docker 映像,并创建容器运行 生 ...

  2. docker下载镜像太慢的解决方案

    参考链接:https://blog.csdn.net/weixin_43569697/article/details/89279225 docker下载镜像卡死或太慢找了网上很多方法,使用镜像中国也是 ...

  3. Docker的镜像理解以及容器的备份、恢复和迁移操作

    Docker的镜像理解以及容器的备份.恢复和迁移操作 这篇文章主要介绍了Docker的镜像理解以及容器的备份.恢复和迁移操作,覆盖很多原理知识以及容器的重要操作步骤,极力推荐!需要的朋友可以参考下 D ...

  4. Docker 下载镜像慢的问题解决方法

    让你火箭般的速度下载docker镜像! 的冷漠度 百家号17-11-1713:09 因为有墙的原因所以在国内下载docker镜像的速度非常慢,有时候是几kb每秒,那个蛋疼的等待,真是谁等谁知道!下面我 ...

  5. Docker:镜像操作和容器操作

    镜像操作 列出镜像: $ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hello-world latest 0a6b ...

  6. Docker 下载镜像

    文章首发个人网站: https://www.exception.site/docker/docker-pull-image 本文中,我们将需要学习 Docker 如何下载镜像? 一.前言 大家都知道, ...

  7. Docker Kubernetes 命令行创建容器

    Docker Kubernetes 命令行创建容器 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 管理节点:192.168.1.79 ...

  8. docker下载镜像

    注意:必须先搜索镜像,否则有时候无法下载 Docker下载Redis镜像并运行容器 .搜索查找镜像 docker search redis .下载镜像 docker pull redis:latest ...

  9. docker 复制镜像和复制容器

    复制镜像和复制容器都是通过保存为新镜像而进行的. 具体为: 保存镜像 docker save ID > xxx.tar docker load < xxx.tar 保存容器 docker ...

随机推荐

  1. Oracle-SQL程序优化4

    从事一年DBA工作,经验尚浅,但是遇到问题总还是能够解决,今天就谈下我遇到的一个比较奇葩的问题. 运维人员告知我下午过后ETL一直卡住没有继续,那时我以为又是什么兼容性问题引起的,就重跑一下ETL,谁 ...

  2. 15 可视化工具 Navicat的简单使用

    本节重点: 掌握Navicat的基本使用 # PS:在生产环境中操作MySQL数据库还是推荐使用命令行工具mysql,但在我们自己开发测试时,可以使用可视化工具Navicat,以图形界面的形式操作My ...

  3. CentOS关闭系统不必要的端口

    注:以下所有操作均在CentOS 7.2 x86_64位系统下完成. 1)首先查看当前系统开放的端口号: # netstat -tlnup Active Internet connections (o ...

  4. C语言第四次实验报告

    第四次实验报告 一·实验项目名称: 多球反弹 二·实验项目功能描述: (1)实现多个小球 (2)实现多个小球碰壁会反弹 (3)实现小球之间碰撞反弹 三· 项目模块结构介绍 #define High 4 ...

  5. 576D Flights for Regular Customers

    分析 https://www.cnblogs.com/onioncyc/p/8037056.html 写的好像有点问题 但是大致就是这个意思 代码很好理解 代码 #include<bits/st ...

  6. 快速入门分布式消息队列之 RabbitMQ(2)

    目录 目录 前文列表 RabbitMQ 的特性 Message Acknowledgment 消息应答 Prefetch Count 预取数 RPC 远程过程调用 vhost 虚拟主机 插件系统 最后 ...

  7. 阶段3 1.Mybatis_08.动态SQL_03.mybatis中动态sql语句-foreach和sql标签

    foreach标签 in的查询 sql语句好写,但是传参在映射文件里面改怎么传呢 定义一个List<Integer>成员变量,然后生成get和set 定义一个新的查询方法 open:开始符 ...

  8. mount挂载相关指令

    最近需要重新挂载一块数据盘,增加挂载设置,遇到一些问题做下记录. step1:df -h 或 lsblk 查看分区挂载和对应挂载的目录 /dev/xxx /data step2:umount /dev ...

  9. Python3 多线程编程 threading模块

    性能自动化测试除了用jmeter还可以用python threading模块做 一.threading模块定义 Python 2.4中包含的较新的线程模块为线程提供了更强大的高级支持. 线程模块公开线 ...

  10. Ubuntu新建用户以及安装pytorch

    环境:Ubuntu18,Python3.6 首先登录服务器 ssh username@xx.xx.xx.xxx #登录一个已有的username 新建用户 sudo adduser username ...