Docker安装

1 Ubuntu16.04 (使用apt-get进行安装)安装Docker

# step 1: 安装必要的一些系统工具
$ sudo apt-get update
$ sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
$ curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
$ sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装 Docker-CE
$ sudo apt-get -y update
$ sudo apt-get -y install docker-ce

# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
#   docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
#   docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]

2 CentOS 7 (使用yum进行安装)

# step 1: 安装必要的一些系统工具
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
$ sudo yum makecache fast
s$ udo yum -y install docker-ce
# Step 4: 开启Docker服务
$ sudo service docker start

# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
#   将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages
# Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
  • 安装校验
$ sudo docker version
Client:
 Version:      17.03.0-ce
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 07:52:04 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.03.0-ce
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 07:52:04 2017
 OS/Arch:      linux/amd64
 Experimental: false

3 配置镜像加速器(阿里云)

针对Docker客户端版本大于1.10.0的用户,可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器:

$ sudo mkdir -p /etc/docker
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://5f2jam6c.mirror.aliyuncs.com"]
}
EOF
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

4 配置普通用户不使用root权限运行Docker

默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。

  • 1.添加 docker group :

    $ sudo groupadd docker
    
  • 2.将用户加入该 group 内

$ sudo usermod -aG docker $USER
# 或者使用下面命令
$ sudo gpasswd -a ${USER} docker
  • 3.重启服务

    $ sudo service docker restart
    # 或者
    $ sudo /etc/init.d/docker restart
    
  • 4.切换当前会话到新 group 或者重启 X 会话 注意:这一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。

    $ newgrp - docker
    

5docker命令详解

docker run命令用于运行一个新容器,而启动一个容器需要非常多的信息,所以该命令的参数非常多,参数详解如下:

Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 
  -a, --attach=[]            登录容器(以docker run -d启动的容器) 
  -c, --cpu-shares=0         设置容器CPU权重,在CPU共享场景使用 
  --cap-add=[]               添加权限,权限清单详见:http://linux.die.net/man/7/capabilities 
  --cap-drop=[]              删除权限,权限清单详见:http://linux.die.net/man/7/capabilities 
  --cidfile=""               运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法 
  --cpuset=""                设置容器可以使用哪些CPU,此参数可以用来容器独占CPU 
  -d, --detach=false         指定容器运行于前台还是后台 
  --device=[]                添加主机设备给容器,相当于设备直通 
  --dns=[]                   指定容器的dns服务器 
  --dns-search=[]            指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件 
  -e, --env=[]               指定环境变量,容器中可以使用该环境变量 
  --entrypoint=""            覆盖image的入口点 
  --env-file=[]              指定环境变量文件,文件格式为每行一个环境变量 
  --expose=[]                指定容器暴露的端口,即修改镜像的暴露端口 
  -h, --hostname=""          指定容器的主机名 
  -i, --interactive=false    打开STDIN,用于控制台交互 
  --link=[]                  指定容器间的关联,使用其他容器的IP、env等信息 
  --lxc-conf=[]              指定容器的配置文件,只有在指定--exec-driver=lxc时使用 
  -m, --memory=""            指定容器的内存上限 
  --name=""                  指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字 
  --net="bridge"             容器网络设置,待详述 
  -P, --publish-all=false    指定容器暴露的端口,待详述 
  -p, --publish=[]           指定容器暴露的端口,待详述 
  --privileged=false         指定容器是否为特权容器,特权容器拥有所有的capabilities 
  --restart=""               指定容器停止后的重启策略,待详述 
  --rm=false                 指定容器停止后自动删除容器(不支持以docker run -d启动的容器) 
  --sig-proxy=true           设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理 
  -t, --tty=false            分配tty设备,该可以支持终端登录 
  -u, --user=""              指定容器的用户 
  -v, --volume=[]            给容器挂载存储卷,挂载到容器的某个目录 
  --volumes-from=[]          给容器挂载其他容器上的卷,挂载到容器的某个目录 
  -w, --workdir=""           指定容器的工作目录
  • 故障处理
    • --restart参数,支持三种逻辑实现:
no:容器退出时不重启 
on-failure:容器故障退出(返回值非零)时重启 
always:容器退出时总是重启
  • 端口暴露

    • -P参数:docker自动映射暴露端口;
        # docker自动在host上打开49000到49900的端口,映射到容器(由镜像指定,或者--expose参数指定)的暴露端口;
        docker run -d -P  training/webapp
      
    • -p参数:指定端口或IP进行映射;

        # host上5000号端口,映射到容器暴露的80端口;
        docker run -d -p 5000:80 training/webapp
        # host上127.0.0.1:5000号端口,映射到容器暴露的80端口;
        docker run -d -p 127.0.0.1:5000:80 training/webapp
        # host上127.0.0.1:随机端口,映射到容器暴露的80端口;
        docker run -d -p 127.0.0.1::5000 training/webapp 
        # 绑定udp端口;
        docker run -d -p 127.0.0.1:5000:5000/udp training/webapp
      
  • 网络配置
#  使用docker daemon指定的网桥
--net=bridge:
 # 容器使用主机的网络
--net=host:
# 使用其他容器的网路,共享IP和PORT等网络资源
--net=container:NAME_or_ID:
# 容器使用自己的网络(类似--net=bridge),但是不进行配置
--net=none:
阅读更多
文章标签: docker python
个人分类: Docker python
上一篇LDAP服务器的概念和原理简单介绍
下一篇Docker配置mysql主从实现读写分离
想对作者说点什么? 我来说一句

docker安装启动

2018年04月06日 88KB 下载

docker安装实战

2018年05月18日 203.64MB 下载

docker 部署安装手册

2017年11月30日 267KB 下载

Ubuntu Docker部署war项目

2018年02月28日 363KB 下载

Docker安装说明

2015年09月10日 4.22MB 下载

docker安装

2016年07月26日 861B 下载

Docker上手操作

2018年01月09日 508KB 下载

docker toolbox for windows

2018年05月04日 193.73MB 下载

DOCKER技术入门与实战PDF

2018年06月26日 5.14MB 下载

没有更多推荐了,返回首页

关闭
关闭