Docker入门到实践(一)

什么是Docker?

百度百科:一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

使用Go语言编写,在LCX(Linux)基础上进行封装。
简单来说:
①、可以快速部署启动应用。
②、实现虚拟化,完成资源隔离。
③、一次编写,到处运行(有一定限制,比如Docker是基于Linux 64 bit的,无法在32 bit的Linux/Windows/Unix环境下使用)。

使用Docker的好处?

①、提供一次性的环境。假如需要安装MySQL,则需要安装许多依赖库、版本等。如果使用Docker则通过镜像就可以直接启动运行。
②、快速动态扩容,使用Docker部署一个应用,可以制作成镜像,然后通过Docker快速启动。
③、组建微服务架构,可以在一个机器上模拟出微服务的架构,启动多个应用。
④、更好的资源隔离和共享。

一句话:开箱即用,快速部署,可移植性强,环境隔离。

Docker的安装

(一)、在Linux(Centos7)上安装:
1. 通过uname -r 命令查看你当前的内核版本,内核版本高于 3.10
2. 移除旧版本:
    sudo yum remove docker\
           docker-client \
           docker-client-latest \
           docker-common \
           docker-latest \
           docker-latest-logrotate \
           docker-logrotate \
           docker-selinux \
           docker-engine-selinux \
           docker-engine
3. 安装一些必要的工具:sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4. 添加软件源信息:sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5. 更新yum缓存:sudo yum makecache fast
6. 安装
    6.1. 最新版:Docker-ce:sudo yum -y install docker-ce
    6.2. 版本列表:yum list docker-ce --showduplicates | sort -r
    6.3. 安装yum install -y docker-ce-17.09.0.ce
7. 启动 Docker 后台服务:sudo systemctl start docker
8. 测试运行 hello-world:docker run hello-world
(二)、在阿里云ECS服务器上安装:
1. 添加yum源:
    1.1. yum install epel-release –y
    1.2. yum clean all
    1.3. yum list
2. 安装并运行Docker:
    2.1. yum install docker-io –y
    2.2. systemctl start docker
3. 检查安装结果:
    3.1. docker info

读者可根据上面的两种方法,自行安装。安装成功,通过下面命令,即可查看Docker版本。

# docker version

# docker info

通过上面命令,显示Docker系统信息,包括镜像和容器数。

Docker镜像、容器、仓库

1、Docker镜像 - Docker images:
    容器运行时的只读模板,操作系统 + 软件运行环境 + 用户程序
2、Docker容器 - Docker containers:
    容器包含了某个应用运行时所需要的全部环境。
3、Docker仓库 - Docker registeries
    用来保存镜像,有公有仓库和私有仓库,好比Maven的中央仓库和本地私服。
    镜像仓库:https://hub.docker.com/
    配置国内镜像仓库(参考链接):https://blog.csdn.net/zzy1078689276/article/details/77371782
    
    
对比面向对象:
Docker里面的镜像 : Java里面的类(Class)
Docker里面的容器 : Java里面的对象(Object)

通过类创建对象,通过镜像创建容器

Docker的基本用法

下面给各位读者讲一下Docker的基本操作。

Docker守护进程管理
# systemctl start docker     # 运行Docker守护进程
# systemctl stop docker      # 停止Docker守护进程
# systemctl restart docker   # 重启Docker守护进程
搜索镜像
# docker search xxx     # xxx是镜像名称

查看已有镜像
# docker images

拉取、删除镜像
# docker pull xxx:tag    # xxx是镜像名称  tag是版本,如果不指定,则默认最新版。
# docker rmi -f xxx      # xxx是IMAGE_ID或者IMAGE_NAME 
运行、停止容器
# docker run --name myrabbitmq -d -p 5672:5672 -p 15672:15672 rabbitmq:management

    docker run - 运行一个容器
    -d 后台运行
    -p 端口映射
    rabbitmq:management(格式:repository:tag) 如果不指定tag,默认使用最新的
    -- name xxx  给容器起一个别名
    
# docker stop  容器名称     # 停止容器
# docker start 容器名称     # 启动容器
# docker rm    容器名称     # 删除容器       


容器运行完,就可以访问了,这里以RabbitMQ为例。

列举运行的容器
# docker ps # 列出容器
    -a  # 显示所有的容器,包括未运行的
    -f  # 根据条件过滤显示的内容
    -l  # 显示最近创建的容器
    -n  # 列出最近创建的n个容器
    -q  # 静默模式,只显示容器编号
    -s  # 显示总的文件大小
    --format    # 指定返回值的模板文件
    --no-trunc  # 不截断输出
查看容器内部信息
# docker inspect  容器名称
常用命令

https://blog.csdn.net/permike/article/details/51879578
 
https://www.runoob.com/docker/docker-command-manual.html

可以根据上面链接中的内容学习Docker的其他操作及命令。

本篇博文讲了Docker的一些基础知识和基本的操作命令,下一篇关于Docker的文章,会讲如何创建私有的镜像仓库,构建SpringBoot应用的Docker镜像并发布到私有镜像仓库。

学如逆水行舟,不进则退;心似平原走马,易放难收。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值