• Docker实践:Centos下安装Docker并简单的使用


    1 环境介绍

    版本信息:

    [root@localhost]#  cat /proc/version

    Linux version 3.10.0-514.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016

    [root@localhost jenkins]# cat  /etc/redhat-release

    CentOS Linux release 7.3.1611 (Core)

    # Centos系统是离线的,但是可以通过代理访问网络,否则,就无法pull Image了.

    # 查看yum list中是否有docker安装包:

    [root@localhost home]# yum list | grep docker

    docker.x86_64                              2:1.12.6-32.git88a4867.el7.centos

    docker-client.x86_64                       2:1.12.6-32.git88a4867.el7.centos

    docker-common.x86_64                       2:1.12.6-32.git88a4867.el7.centos

    [root@localhost home]#

    2安装Docker

    # install

    sudo yum install -y docker.x86_64

    #  yum install docker

    # 查看docker是否安装成功

    docker --version

    # 开机自启动, 好像开机启动并不是很灵

    sudo chkconfig docker on

    # 查看docker daemon是否在运行

    ps aux | grep docker

    3设置代理

    # following link is to resolve docker-runc not found issue,proxy is not necessary *#

    ln -s /usr/libexec/docker/docker-proxy-current /usr/bin/docker-proxy

    ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc

    #停止docker service(设置代理前,需要停止)

    service docker stop

    # 设置代理, 成功后,会自动启动docker service

    sudo HTTP_PROXY=http://ip:port /usr/bin/dockerd --userland-proxy=false &

    4 Docker Service

    # 启动Docker Service

    # 注: 设置代理时,Docker Service会自动启动

    service docker start

    # 或者这种启动方式

    systemctl start docker.service

    #停止docker service(设置代理前,需要停止)

    service docker stop

    # 或者这种停止方式

    systemctl stop docker.service

    # 查看服务状态

    systemctl status docker.service

    # 查看docker daemon是否在运行

    ps aux | grep docker

    5 Image

    # 下载Image,  默认从docker.io下载,速度会比较慢

    #           可以从daocloud.io中下载,速度会快一些.

    # 我在公司, Centos上感觉不明显, 在家里用ubuntu感觉特别明显

    docker pull centos

    # 查询仓库中的Image

    # --automated=false:       仅显示自动创建的镜像

    # --no-trunc=false:   不截断显示

    # -s, --starts=0:        指定星级以上

    docker search -s 10 centos

    # 查询本地Image

    docker images

    # 删除Image

     docker rmi docker.io/Ubuntu

    6 运行Image

    # 运行Image

     # 注意: 运行Image时, 需要关闭代理,重启docker service,

     #      否则会遇到错误:container_linux.go:247: starting container process caused

     #      "process_linux.go:334: running prestart hook 1 caused "error running hook: exit status 1, stdout: , stderr: ""

    #          /usr/bin/docker-current: Error response from daemon: invalid header field value "oci runtime error:

    #          container_linux.go:247: starting container process caused "process_linux.go:334:

    #           running prestart hook 1 caused \"error running hook: exit status 1, stdout: , stderr: \"" ".

    # 方式1

    sudo docker  run centos /bin/echo 'Hello World'

    # 带调试信息

    sudo docker --debug=true run centos /bin/echo 'Hello World'

    #方式2

    [root@localhost home]# docker create centos

    3e8185a9fb586e1b3f12fb1c69c2a22225df1e5505c9315e3b62743d489d2904

    # 查看容器信息

    [root@localhost home]# docker ps -a

    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

    3e8185a9fb58        centos              "/bin/bash"         5 seconds ago       Created                                 gigantic_franklin

    [root@localhost home]# docker start 3e8185a9fb58

    docker run -idt --name pcta-demon matthewx:pcta-matthewx

    # 进入容器

    docker attach pcta-demon

    # 删除容器

    docker rm 3e8185a9fb58

    7 卸载Docker

    #centos卸载

    yum list installed | grep docker

    yum -y remove docker.x86_64 

    yum -y remove docker-client.x86_64 

    yum -y remove docker-common.x86_64 

    # 如果/var/lib/docker删除失败,

    # 请使用lsof |grep docker看看有哪些进程在使用,kill掉这些进程.

    # 此处删除应该是删除pull的image等,所以也可以不删除.

    rm -rf /var/lib/docker

    lsof |grep docker

  • 相关阅读:
    n皇后问题
    POJ2155 Matrix二维线段树经典题
    hiho一下 第六十六周
    hdu1754 I hate it线段树模板 区间最值查询
    hdu5481 Desiderium
    自增运算符
    hdu-1823 Luck and Love
    Oracle 函数大全
    对前台传过来的实体是否为空 进行为空校验的N种方法
    IOC和DI的区别详解
  • 原文地址:https://www.cnblogs.com/Rong-/p/7670709.html
Copyright © 2020-2023  润新知