docker入门

学习docker,首先需要了解Docker的三个基本概念:
1、镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。
2、容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。
3、仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用tag进行区分,比如Ubuntu仓库存放有多个版本(12.04、14.04等)的Ubuntu镜像。

docker_icon

一、安装

1、win 10专业版\教育版\企业版
2、需要开启Hyper-V

3、下载docker
4、安装
成功:

在powerShell 中运行docker run hello-world

5、修改镜像下载地址
http://hub-mirror.c.163.com

二、常用命令

  • 查看镜像是否存在

    docker search centos
  • 拉取镜像

    docker pull centos # 拉取默认版本
    docker pull centos:xxx # 拉取指定版本
  • 列出镜像

    docker images # 列出所有镜像
    docker images centos # 列出指定镜像
  • 创建容器

    docker run --name card -it centos:latest /bin/bash

    latest 为标签,使用者设置
    –name card 表示为容器创建一个名为card的别名

    现在,我们就可以在容器下安装各种软件了,如安装python,只需要像在linux下直接使用yum install python就行了

  • 进入容器

    docker exec -it 容器别名\容器id bash
  • 退出容器

    在容器中输入exit就可以了

  • docker中运行的程序(容器)

    docker ps -a

  • 启动容器
    当我们退出容器后,如果希望再次进入容器,那么通过容器id或别名重新启动容器

    docker start 容器id\别名

    这个时候还不能进入bash页面,需要进行连接操作才能进入bash页面

    docker attach 容器id\别名

  • 创建镜像

    docker commit -m "his" -a "lao" 2a47aef001b3 lao/card:1.0

    -m 指定说明信息;
    -a 指定用户信息;
    2a47aef001b3 代表容器的id;
    lao/card:1.0 指定目标镜像的用户名、仓库名和 tag 信息

  • 通过镜像进入容器

    docker run -it lao/card:1.0 /bin/bash

    创建完成镜像后,可以通过以上命令进入容器,lao/card:1.0便是我们再上一步配置的用户名、仓库名、tag信息

  • 停止容器

    docker stop 2fdf00f2a22b # 2fdf00f2a22b 为容器id
    docker stop $(docker ps -q) # 停止全部容器
  • 删除容器

    docker rm 2fdf00f2a22b # 2fdf00f2a22b 为容器id
    docker rm $(docker ps -aq) # 删除全部容器

    注意:容易需要停止才能删除

  • 删除镜像

    docker rmi xxxx # xxx 为镜像id

    注意:删除镜像前,需要确保使用该镜像启动的容易已经被删除

  • 查看错误容器日志

    docker logs -f -t --tail # 实时查看日志
    docker logs -f -t --tail 10 xxx # 实时查看xxx的最后10行日志
    docker logs -f --details df_php_1 # tail -f 显示日志

参考地址

docker入门
容器管理

作者

AriaLyy

发布于

2019-02-15

许可协议

CC BY-NC-SA 4.0

评论