Ubuntu16.04安装Docker

作者: 97690CE50CC872D | 来源:发表于2017-09-25 21:02 被阅读145次

    Docker 需要安装在 64 位的 x86 平台或 ARM 平台上(如树莓派),并且要求内核版本不低于 3.10。但实际上内核越新越好,过低的内核版本可能会出现部分功能无法使用,或者不稳定。

    用户可以通过如下命令检查自己的内核版本详细信息:

    $ uname -a
    Linux device 4.4.0-45-generic #66~14.04.1-Ubuntu SMP Wed Oct 19 15:05:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    

    2.使用脚本自动安装

    Docker 官方为了简化安装流程,提供了一套安装脚本,Ubuntu 和 Debian 系统可以使用这套脚本安装:

    curl -sSL https://get.docker.com/ | sh
    

    阿里云的安装脚本

    curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
    

    DaoCloud 的安装脚本

    curl -sSL https://get.daocloud.io/docker | sh
    

    3.启动 Docker 引擎

    Ubuntu 16.04、Debian 8 Jessie/Stretch

    $ sudo systemctl enable docker
    $ sudo systemctl start docker
    

    4.获取镜像

    $ docker pull ubuntu:14.04
    14.04: Pulling from library/ubuntu
    bf5d46315322: Pull complete
    9f13e0ac480c: Pull complete
    e8988b5b3097: Pull complete
    40af181810e7: Pull complete
    e6f7c7e5c03e: Pull complete
    Digest: sha256:147913621d9cdea08853f6ba9116c2e27a3ceffecf3b492983ae97c3d643fbbe
    Status: Downloaded newer image for ubuntu:14.04
    

    5.运行

    有了镜像后,我们就可以以这个镜像为基础启动一个容器来运行。以上面的 ubuntu:14.04 为例,如果我们打算启动里面的 bash 并且进行交互式操作的话,可以执行下面的命令。

    $ docker run -it --rm ubuntu:14.04 bash
    root@e7009c6ce357:/# cat /etc/os-release
    NAME="Ubuntu"
    VERSION="14.04.5 LTS, Trusty Tahr"
    ID=ubuntu
    ID_LIKE=debian
    PRETTY_NAME="Ubuntu 14.04.5 LTS"
    VERSION_ID="14.04"
    HOME_URL="http://www.ubuntu.com/"
    SUPPORT_URL="http://help.ubuntu.com/"
    BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
    root@e7009c6ce357:/# exit
    exit
    $
    

    虚悬镜像

    由于新旧镜像同名,旧镜像名称被取消,从而出现仓库名、标签均为 <none> 的镜像。这类无标签镜像也被称为 虚悬镜像(dangling image) ,可以用下面的命令专门显示这类镜像:

    $ docker images -f dangling=true
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    <none>              <none>              00285df0df87        5 days ago          342 MB
    

    一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,可以用下面的命令删除。

    $ docker rmi $(docker images -q -f dangling=true)
    

    中间层镜像

    为了加速镜像构建、重复利用资源,Docker 会利用 中间层镜像。所以在使用一段时间后,可能会看到一些依赖的中间层镜像。默认的 docker images 列表中只会显示顶层镜像,如果希望显示包括中间层镜像在内的所有镜像的话,需要加 -a 参数。

    $ docker images -a
    

    我们修改了容器的文件,也就是改动了容器的存储层。我们可以通过 docker diff 命令看到具体的改动。

    $ docker diff webserver
    C /root
    A /root/.bash_history
    C /run
    C /usr
    C /usr/share
    C /usr/share/nginx
    C /usr/share/nginx/html
    C /usr/share/nginx/html/index.html
    C /var
    C /var/cache
    C /var/cache/nginx
    A /var/cache/nginx/client_temp
    A /var/cache/nginx/fastcgi_temp
    A /var/cache/nginx/proxy_temp
    A /var/cache/nginx/scgi_temp
    A /var/cache/nginx/uwsgi_temp
    

    sudo docker run --name xmaijenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS="-Xmx8192m" --env JAVA_OPTS="-Djava.util.logging.config.file=/home/xmai/jenkins_home_docker/log.properties" --env JENKINS_SLAVE_AGENT_PORT=50000 -v /home/xmai/jenkins_home_docker:/var/jenkins_home jenkins/jenkins:lts

    docker pull jenkins:latest

    1.服务器拉取docker jenkins镜像:

    docker pull jenkins:latest
    

    2.拉取jenkins latest版本镜像

    docker pull jenkins:2.7.4 
    

    拉取jenkins 2.7.4版本镜像

    3.服务器运行dokcer jenkins容器:

    sudo docker run -d --name jenkins_node -p 49002:8080 -v /var/jenkins_node:/var/jenkins_home jenkins:latest
    

    命令的意思是:在后台运行一个基于jenkins:latest镜像的容器, 容器的名字叫做 jenkins_node ,把容器的8080端口映射为49002端口,并且把服务器上的/var/jenkins_node目录挂在到docker容器上的/var/jenkins_home目录

    -d 后台运行docker容器

    如果不加-d则,容器运行会占用此终端,如果终端关闭,则容器也相应关闭,jenkins就无法访问了。加上-d,容器会在后台运行。

    --name 为容器起个别名

    如果不起别名,则系统会默认分配一个随机别名,类似gklasd_sdfwe。起了别名后,后续会通过该别名管理该docker容器,也就是管理jenkins。

    -p docker容器端口映射

    jenkins服务是运行在docker里的,docker默认不对外暴露端口的

    -v 文件挂载

    如果不挂载,则jenkins所有log、用户配置文件都会在docker容器内,如果容器销毁,则jenkins得重新配置一遍。挂载出来方便jenkins迁移以及管理

    jenkins run

    查看你服务器上的的/var/jenkins_node文件夹,当出现下图所有文件时,则说明jenkins启动成功,否则再等等...30秒左右即可

    相关文章

      网友评论

        本文标题:Ubuntu16.04安装Docker

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