dokcer快速入门

docker是什么

对于docker究竟是什么,有很多种的说法.不但不管是什么说法,总没有办法避开一个概念

docker仅仅就是一个工具而已、

听起来或许好像和没有解释是一样的,但是我觉得这就是最好的解释
但是正因为docker是一种工具,只要明白dokcer能做什么,不能做什么,我们就能很好的使用docker这个工具了。
因为对于工具而言,只有在特定的场景才有存在的意义,无脑的跟风和吹捧都是没有意义的。

docker能做什么

  1. 跨环境无缝迁移
  2. 项目水平扩展,轻松实现分布式架构
  3. 自动化运维
  4. CI/CD 持续集成,持续交付

任何一种工具的使用方法,都是没有办法用穷举法来完成的,但是只需要这几种优点,已经足以成为我学习并学会使用这种工具的推动力了。

docker核心概念

学会一种工具并不需要你完全的吧这种工具发明出来(当然能够发明出来,那说明你不仅仅是学会使用了),只需要工具的每个组成部分就可以了,想要更好的使用docker,有三个核心概念是必要要深刻了解的
- repository 仓库
- image 镜像
- container 容器

什么是镜像?什么是容器?什么又是仓库?

用面向对象的方法来理解,我觉得会更容易一点
镜像和容器之间的关系,就好像面向对象编程中类与实例的关系
仓库和镜像之间的关系,就好像包和类之间的关系

一个镜像可以创建出很多的容器,多个镜像可以组成以的镜像仓库

docker基础命令

docker的基本概念就好比心法口诀,但是想要运用自如,只有通过不断的练习才有可能
但是有组织的练习可以让你事半功倍,docker的操作主要分为两种

  • 对镜像的操作
  • 对容器的操作

docker镜像操作命令

docker pull  #从docker云拉取一个镜像
docker push  #把本地镜像推送到docker云上
docker build  #根据Dockerfile创建一个docker镜像
docker images  #列出当前系统上所有的镜像
docker image  #镜像操作命令的集合

docker容器操作命令

docker run # 运行某个容器的镜像
docker ps #显示正在运行的容器
docker rm # 删除一个或者多个容器
docker rename # 对容器进行重命名
docker port # 查看容器运行的端口
docker cp  # 拷贝文件到容器

docker快速上手

背诵命令是非常枯燥又低下的,通过一个完整的过程来练习docker才能使你的印象更加深刻,那么亲自运行一个容器就显得的非常有必要了。
容器的运行需要依赖镜像,首先要做的事情就是从docker云上获取一个可用的镜像,因为我的操作系统就是ubuntu,所以我对ubuntu比较熟悉,那么我就使用ubuntu镜像了

docker pull ubuntu # docker pull ubuntu:14.0.4 带上tag的话,可以获取到指定版本的系统
docker images  # pull之后 查看当前的iamges 查看自己的镜像是不是拉取成功

接下来使用run来练习了

docker run ubuntu ls -al #ls -al 就是在容器中运行的命令,只要ubuntu下运行的命令,都可以使用这种方法来运行,包括使用bash来登录
docker run -it ubuntu /bin/bash # 注意这里的-it参数,如果没有这个参数,将不能进入bahs终端

因为这是ubuntu默认环境,几乎是没有什么工具的,为了打造自己的环境,那么我们可以稍微配置一下,在这里安装个vim

apt update
apt install vim

安装成功以后,可以把容器重新打包成镜像,制作成属于自己的镜像,重新打开一个终端

使用Dockerfile 来构建自己的镜像会有更好的体验,这里粗暴一点解决,成就感会来的快一点

docker ps # 查看正在运行的ubuntu镜像的容器  找到第一行的contain ID
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                    NAMES
4ad0ebaa1cd1        ubuntu              "/bin/bash"              About a minute ago   Up About a minute 

接着使用commit 对容器重新打包成镜像

docker commit 4ad0ebaa1cd1 crisen/ubuntu  # 4ad0ebaa1cd1是容器的id,这是一个随机字符串,不同的电脑上得到的随机字符串是不一样的
docker images # 接着验证自己的镜像是否成功创建

最后验证自己的镜像是不是成功安装上了vim

docker run crisen/ubuntu which vim  #这里运行crisen/ubuntu 表示自己创建的镜像的名称

最后得到结果/usr/bin/vim,说明成功个性化了自己的镜像。

发表评论