docker + ubuntun 安装show doc

基本安装步骤

Ubuntu Docker 安装

Docker 支持以下的 Ubuntu 版本:

    • Ubuntu Precise 12.04 (LTS)
    • Ubuntu Trusty 14.04 (LTS)
    • Ubuntu Wily 15.10
    • 其他更新的版本……

前提条件

Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker。

通过 uname -r 命令查看你当前的内核版本

[email protected]:~$ uname -r


使用脚本安装 Docker

1、获取最新版本的 Docker 安装包

[email protected]:~$ wget -qO- https://get.docker.com/ | sh

输入当前用户的密码后,就会下载脚本并且安装Docker及依赖包。

安装完成后有个提示:

	If you would like to use Docker as a non-root user, you should now consider
	adding your user to the "docker" group with something like:

	sudo usermod -aG docker runoob
   Remember that you will have to log out and back in for this to take effect!

当要以非root用户可以直接运行docker时,需要执行 sudo usermod -aG docker runoob 命令,然后重新登陆,否则会有如下报错

2、启动docker 后台服务

[email protected]:~$ sudo service docker start

3、测试运行hello-world

[email protected]:~$ docker run hello-world

详情测试步骤

安装Docker只需3步,下载Docker, 安装Docker,检查Docker是否成功。

Docker目前支持主流的3种操作系统的Linux, Mac, Windows的环境,本文使用的Linux系统环境为:Linux Ubuntu 14.04.4 LTS 64bit。在Ubuntu中下载和安装Docker可以直接用apt-get搞定。

由于Docker在1.7.1以后的版本指定了自己的源,所以我们需要先在APT中配置Docker的源。

更新APT的源,安装https和ca证书的库,默认这2个库都已经装了。


~ sudo apt-get update
~ sudo apt-get install apt-transport-https ca-certificates

添加秘钥GPG到APT配置中。


~ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

增加Docker的源到/etc/apt/souces.list文件中,我的版本是14.04对应ubuntu-trusty。


~ sudo vi /etc/apt/sources.list

# 增加到最后一行
deb https://apt.dockerproject.org/repo ubuntu-trusty main

接下来,就可以用可以用apt-get直接安装Docker了。


~ sudo apt-get update
~ sudo apt-get install docker-engine

安装完成,默认会启动Docker。


# 检查docker服务
~ service docker status
docker start/running, process 10013

# 检查docker进行
~ ps -aux|grep docker
root     10013  0.0  1.0 424948 40584 ?        Ssl  22:29   0:00 /usr/bin/dockerd --raw-logs
root     10022  0.0  0.2 199680 10280 ?        Ssl  22:29   0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shimdocker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc

# 检查docker版本
~ sudo docker version
Client:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        Thu Aug 18 05:22:43 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        Thu Aug 18 05:22:43 2016
 OS/Arch:      linux/amd64

检查Docker是否成功,运行hello-world。如果出现下面的信息,表示Docker引擎安装成功。


~ sudo docker run hello-world
Unable to find image ‘hello-world:latest‘ locally
latest: Pulling from library/hello-world
c04b14da8d14: Pull complete
Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

注意:我们在执行上面的命令的时候,经常会遇到一个错误。Cannot connect to the Docker daemon. Is the docker daemon running on this host?

比如,直接输入 docker run hello-world 命令。


~ docker run hello-world
docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
See ‘docker run --help‘.

这是由于权限的问题,docker默认和root权限绑定,如果不加sudo时则没有权限。

问题解决步骤

默认安装完 docker 后,每次执行 docker 都需要运行 sudo 命令,非常浪费时间影响效率。如果不跟 sudo,直接执行 docker images 命令会有如下问题:

FATA[0000] Get http:///var/run/docker.sock/v1.18/images/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?

于是考虑如何免 sudo 使用 docker,经过查找资料,发现只要把用户加入 docker 用户组即可,具体用法如下。

2 免 sudo 使用 docker

  • 如果还没有 docker group 就添加一个:

    1. sudo groupadd docker
  • 将用户加入该 group 内。然后退出并重新登录就生效啦。
    1. sudo gpasswd -a ${USER} docker
  • 重启 docker 服务
    1. sudo service docker restart
  • 切换当前会话到新 group 或者重启 X 会话
    1. newgrp - docker
    2. OR
    3. pkill X

注意,最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。

3 原因分析

  • 因为 /var/run/docker.sock 所属 docker 组具有 setuid 权限

    1. $ sudo ls -l /var/run/docker.sock
    2. srw-rw---- 1 root docker 0 May 1 21:35 /var/run/docker.sock
时间: 2024-10-08 02:00:47

docker + ubuntun 安装show doc的相关文章

Docker Centos安装Mysql5.6

之前一篇随笔<Docker Centos安装Openssh> 写的是如何在基础的centos镜像中搭建ssh服务,在此基础上再搭建其他服务.本文继续介绍在centos_ssh基础上搭建mysql服务. 1.启动centos_sshd镜像 # docker run --net=host -d registry:5000/centos-sshd-222:v1.0 /run.sh 这里用的是host模式连接的网络,启动之后即可通过ssh登录到容器内部,装上mysql之后可以直接重启容器来验证是否成功

Docker的安装和使用说明——Docker for Windows

一.Docker安装 1.1官方方法 官方下载页面:http://www.docker.com/products/docker#/windows 官方下载地址:https://download.docker.com/win/stable/InstallDocker.msi 1.2推荐方法: 1.2.1 DockerToolbox官方地址:http://www.docker.com/products/docker-toolbox 官方最新版:https://github.com/docker/to

Docker CE安装及配置国内镜像加速教程

Docker CE安装教程 一.版本说明 2017年2月份,Docker公司发布了全新的Docker版本:V1.13.0.从2017年3月1号开始,Docker的版本命名发生如下变化: 项目 说明 版本格式 YY.MM stable版本 每个季度发行 edge版本 每个月发行 同时将Docker分成CE和EE 2个版本.CE版本即社区版(免费,支持周期三个月),EE即企业版,强调安全,付费使用. Docker 会每月发布一个 edge 版本(17.03, 17.04, 17.05...),每三个

Docker的安装及简单使用

1.  Docker的安装 (这里的“安装docker”其实就是安装Docker Engine) $ sudo apt-get intasll docker.io note: apt-get是ubuntu安装软件的管理工具 2.  确认docker engine是否安装成功 # Check that you have a working install $ sudo docker info 3.  下载一个镜像(Download a pre-built image) # Download an

docker客户端安装

前置条件 CentOS7.1以上 查看发行版版本号 lsb_release -a 安装docker yum安装 1)使用root权限登录系统 2)更新系统包到最新 yum -y update 3)添加yum仓库 # cat >/etc/yum.repos.d/docker.repo <<-EOF [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7 enab

Docker的安装与启动

Docker安装 #yum install docker-engine (centos 6.5) 或者#curl -fsSL https://get.docker.com/ | sh 如果是出现"Warning: the "docker" command appears to already exist on this system."就意味你曾经装过docker但是失败了,这个时候需要#yum list installed | grep docker,然后把出现的

Docker的安装,配置,更新和卸载

在Linux中开启Docker引擎 我们可以在Linux中安装Docker并运行Hello world应用程序.通过下面这些操作,我们将会学到更多有关于Docker的基础特征.我们将会学到如何: 安装Docker引擎 在一个容器中运行软件镜像 在Docker Hub中浏览一个镜像 创建你的镜像,并且在容器中运行它 创建一个Docker Hub账户和一个镜像库 创建你自己的镜像 将你的镜像放到Docker Hub中让其他人使用 该开始教程是用于减少用户碰到问题的可能性,为了能够测试成功,一定要遵循

docker 的安装

官方网站上有各种环境下的 安装指南,这里主要介绍下Ubuntu和CentOS系列的安装. Ubuntu 系列安装 Docker 通过系统自带包安装 Ubuntu 14.04 版本系统中已经自带了 Docker 包,可以直接安装. $ sudo apt-get update $ sudo apt-get install -y docker.io $ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker $ sudo sed -i '$acompl

Docker的安装基本命令配置详解

Docker 官网:https://docs.docker.com      Docker值得关注的特性:         文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里.         资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用Cgroup.         网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址.             日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索