美文网首页
docker构建微服务 入门篇

docker构建微服务 入门篇

作者: maxbin | 来源:发表于2018-03-07 11:52 被阅读12次

    什么是docker?

    • docker是一个轻量级的开源应用容器引擎
    • 容器使用沙箱机制,相互之间不会有任何接口,并且容器的性能开销低

    怎么使用docker容器?

    • docker可以安装在Linux系统中,也可以安装在Windows系统和MacOS中
    • 但是docker对系统有要求,比如CentOS系统的内核版本需要高于3.8
    • 使用uname -f 命令查询系统当前的内核版本
    [root@test003 tmp]# uname -r
    2.6.32-431.el6.x86_64
    
    • 看到系统默认的内核是2.6.32的,此时我们在安装docker前需要更新系统内核

    更新系统内核

    操作系统使用的是CentOS7

    [root@localhost ~]# cat /etc/redhat-release 
    CentOS Linux release 7.3.1611 (Core) 
    
    1. 升级内核版本(包含aufs)
    cd /etc/yum.repos.d
    wget http://www.hop5.in/yum/el6/hop5.repo
    yum install kernel-ml-aufs kernel-ml-aufs-devel
    
    1. 修改引导的内核
    vi /etc/grub.conf
    

    把默认的引导文件设置为0。因为升级内核之后,新的内核在第一个(0)位置。

    1. 重启系统,使用新的内核
    • 检查内核版本:
    [root@localhost ~]# uname -r
    3.10.0-514.el7.x86_64
    
    • 检查aufs是否存在
    grep aufs /proc/filesystems
    nodev     aufs
    

    4、安装相应的epel源

    wget http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
    rpm -ivh  epel-release-6-8.noarch.rpm
    

    使用yum安装docker

    yum -y install docker-io
    

    启动docker

    启动docker进程:service docker start
    查看docker进程:ps -ef |grep docker

    [root@localhost ~]# service docker start
    Starting docker (via systemctl):                           [  OK  ]
    [root@localhost ~]# ps -ef |grep docker
    root       1107      1  0 11:41 ?        00:00:00 /usr/bin/docker -d
    root       2407   2254  0 11:51 pts/0    00:00:00 grep --color=auto docker
    

    docker命令使用

    1. 使用docker运行centos镜像并输出hello world
    docker run centos /bin/bash echo "hello world"
    
    1. docker 运行交互式的容器
    docker run -i -t centos /bin/bash 
    

    此时用户会话进入了docker容器内部。输入exit并不会影响当前的centos,而是退出docker容器会话,并且docker容器还是在后台会运行

    • 通过exec命令进去docker环境
    docker exec -it ID /bin/bash
    
    1. 启动容器的后台模式
    [root@localhost ~]# docker run -d centos /bin/sh -c "while true; do echo hello world; sleep 1; done"
    1812d56ff928e0f1d3ba89ecbaab41b590ca4519b0f365d67e1919613667c63f
    

    此时,输出的是一个长字符串“[root@localhost ~]# docker run -d centos /bin/sh -c "while true; do echo hello world; sleep 1; done"
    1812d56ff928e0f1d3ba89ecbaab41b590ca4519b0f365d67e1919613667c63f”,这个是容器ID

    • 可以使用docker ps命令查看容器运行情况

    docker ps -a 列出所有的docker容器,参考"docker ps --help"命令,查看ps的帮助信息

    [root@localhost ~]# docker ps
    CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
    1812d56ff928        centos              "/bin/sh -c 'while t   6 minutes ago       Up 6 minutes                            clever_pare   
    
    • 查看容器内的标准输出,使用命令 docker logs 容器ID/NAME
    docker logs 1812d56ff928
    docker logs clever_pare
    

    可以看到控制台输出了hello world

    • 停止容器 docker stop ID/NAME
    # 使用id停止容器
    docker stop 1812d56ff928
    # 使用name停止容器
    docker stop clever_pare
    

    相关文章

      网友评论

          本文标题:docker构建微服务 入门篇

          本文链接:https://www.haomeiwen.com/subject/mjfjfftx.html