Docker(一) Docker入门教程

一、相关概念

Docker是CS架构,主要有两个概念:

  • Docker daemon:
    运行在宿主机上,Docker守护进程,用户通过Docker client(Docker命令)与Docker daemon交互。
  • Docker client:
    Docker 命令行工具,是用户使用Docker的主要方式,Docker client与Docker daemon通信并将结果返回给用户,Docker client也可以通过socket或者RESTful api访问远程的Docker daemon。

了解了Docker的组成,再来了解一下Docker的三个主要概念:

  • Docker image:
    镜像是只读的,镜像中包含有需要运行的文件。
    镜像用来创建container,一个镜像可以运行多个container;
    镜像可以通过Dockerfile创建,也可以从Docker hub/registry上下载。
  • ** Docker container: **
    容器是Docker的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序运行在一个相对安全的环境中。
  • ** Docker hub/registry: **
    共享和管理Docker镜像,用户可以上传或者下载上面的镜像,官方地址为https://registry.hub.docker.com/,也可以搭建自己私有的Docker registry。

镜像就相当于打包好的版本,镜像启动之后运行在容器中,仓库就是装存储镜像的地方。

二、Docker 的安装

Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行 yum 命令:

[root@localhost ~]# yum install docker -y

[root@localhost ~]# systemctl start docker.service    #启动docker服务
[root@localhost ~]# systemctl enable docker.service    #设置开机启动

[root@localhost ~]# docker version    #查看docker版本信息,如有返回代表成功!

例子:Hello wold!

  • 修改官方镜像源:
    中国可以用:registry.docker-cn.com 来进行加速,但只包含流行的公有镜像!!!

    [root@localhost ~]# vi /etc/docker/daemon.json
    
    #添加:
    {
     "registry-mirrors": ["https://registry.docker-cn.com"],
     "live-restore": true
     }
    
  • 拉取并运行hello-world:

    [root@localhost ~]# docker pull library/hello-world    
    #docker pull 是抓取 image 文件的命令,library/hello-world是 image 文件在仓库里面的位置,其中library是 image 文件所在的组,hello-world是 image 文件的名字。
    
    [root@localhost ~]# docker images   
    #显示结果
    REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
    docker.io/hello-world   latest              fce289e99eb9        2 weeks ago         1.84 kB
    
    [root@localhost ~]# docker run hello-world
    #显示结果
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    ...
    #输出提示后,hello-world会停止运行,容器自动终止。有些不会自动终止,以此来提供服务,比如mysql镜像等。
    

三、常用命令

拉取镜像:

docker pull image_name    #image_name 是镜像名字和位置

查看本地镜像:

docker images     #查看宿主上的所有镜像,位置在//var/lib/docker

在线查找镜像:

docker search image_name    #image_name 是你想查找的镜像名字或关键字

删除镜像:

docker rmi docker.io/hello-world     #删除容器必须先停止,不然需加上 -f 强制删除。

查看当前运行的容器:

docker ps -al    #参数为所有和详细信息

启动、停止和重启容器:

docker start container_name/container_id    #container_name 为要操作的容器名字,container_id为查询到的容器ID(两种都可操作)
docker stop container_name/container_id
docker restart container_name/container_id

进入后台容器:

docker attach container_name/container_id

删除容器:

docker rm container_name/container_id

查看当前系统Docker信息:

docker info

下载镜像到本地:

docker pull centos:latest    #下载某一个镜像
docker pull centos    #下载centos仓库下所有镜像
posted @ 2019-01-17 10:47  colman_cc  阅读(153)  评论(0编辑  收藏  举报