Please refer to official site for installation  details :  https://docs.docker.com/install/linux/docker-ee/suse/

Example installation for SUSE Linux SP2 12.2 + Docker  17.06.2

1. Prerequisites 

1.1. Get Docker EE URL by Registration , go to: 
  https://store.docker.com/                          sunnydockerid/Netxxxxx1   nbtoronto/Luuu123!@#  

1.2. OS requirements

    1. Linux version should be or higher than 12.x:

 # cat /etc/*release    

b. Firewall Configuration Check :

# systemctl list-unit-files | grep firewall 

Firewall Disabled: Docker creates a DOCKER iptables chain when it starts.

Firewall Enabled: adjust the start-up script order so that the firewall is   started before Docker, and Docker stops before the  firewall stops.

1.3. Uninstall old version: Older versions of Docker were called docker or docker-engine. If you use OS images from a cloud provider, you may need to remove the runc package, which conflicts with Docker EE

$ sudo zypper rm docker docker-ee runc 

$ sudo rpm -e docker-ee 

1.4. Check Filesystem

# cat /proc/filesystems | grep btrfs

btrfs should be listed.

1.5. Configure the Btrfs filesystem

1.5.1. Check file system:

df -T / /var /var/lib /var/lib/docker  

Note: duplicated result if you do not have separate mount point)

#mkdir /var/lib/docker  

Note: The only supported storage driver for Docker EE on SLES is Btrfs,

If the filesystem that hosts /var/lib/docker/ is not a BTRFS filesystem, you must configure a BTRFS filesystem and mount it on /var/lib/docker/.

1.5.2.   Format your dedicated block device or devices as a Btrfs filesystem.

# df –h   

# mkfs.btrfs -f  /dev/sda2  

1.5.3.  Mount the new Btrfs file system on the /var/lib/docker

 #mount -t btrfs /dev/sda2  /var/lib/docker  

 2. Install Docker EE

2.1 Using the repository 

STEP 1:    SET UP THE REPOSITORY

2.1.1.1:  Add a $DOCKER_EE_URL variable into your environment

DOCKER_EE_URL="<DOCKER-EE-URL>/sles/12.3/x86_64/stable-17.06" 

2.1.1.2. set up the stable repository

sudo zypper addrepo $DOCKER_EE_URL docker-ee-stable 

2.1.1.3. Import the GPG key from the repository

sudo rpm --import "<DOCKER-EE-URL>/sles/gpg"

Notes:  please be aware of the value is DOCKER-EE-URL, NOT DOCKER_EE_URL.

STEP 2: INSTALL DOCKER EE

2.1.2.1. Update the zypper package index

sudo zypper refresh  

2.1.2.2. Install the latest version of docker-ee

sudo zypper install docker-ee   

$ sudo docker info 

 

2.1.2.2. install a specific version: List binary packages and is truncated:

$ zypper search -s --match-exact -t package docker-ee

Note:omit the -t package flag from the command to also list source packages

$sudo zypper install docker-ee-<VERSION_STRING>

2.1.2.3.Configure Docker EE to use the Btrfs filesystem.

This is only required if the / filesystem is not using BTRFS.

# /etc/docker/daemon.json (create it if it does not exist) and add the following contents:

{  "storage-driver": "btrfs"}

2.1.3. Start Docker:

$ sudo service docker start 

$ sudo docker info 

 

 

2.1.4. Verify that Docker EE

$ sudo docker run hello-world 

This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits.

systemctl status docker.service

NOW YOU HAVE YOUR DOCKER INSTALLED SUCCESSFULLY !!

2.2. From a Package 

2.2.1. Download the .rpm file and install it manually

<url>/sles/12.3/

2.2.2.Import Docker’s official GPG key:

$ sudo rpm --import <DOCKER-EE-URL>/sles/gpg

2.2.3.Install Docker EE

$ sudo zypper install /path/to/package.rpm

Docker EE is installed but not started. The docker group is created, but no users are added to the group.

2.2.4. Edit the file /etc/docker/daemon.json (create it if it does not exist)

{ "storage-driver": "btrfs" }

2.2.5.Start Docker:

$ sudo service docker start

2.2.6.Verify that Docker EE

$ sudo docker run hello-world

This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits.

3. Post-installation steps for Linux 

3.1.  Configure Docker to start on boot

$ sudo systemctl enable docker (or upstart)

"Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service."

3.2.  Add user to docker group

$sudo usermod –a -G docker username

4. Uninstall Docker EE 

4.1 Uninstall the Docker EE package

$ sudo zypper rm docker-ee

Delete all images, containers, and volumes on your host:

$ sudo rm –rf /var/lib/docker/*

4.2 Unmount and format the Btrfs filesystem

If you used a separate BTRFS filesystem to host the contents of /var/lib/docker/, you can unmount and format the Btrfs filesystem.

$ sudo unmount /dev/sda2/  /var/lib/docker

4.3 Manually  delete any edited configuration files

e.g  /etc/docker/daemon.json

 

5. Reference

  • Docker overview:
  • About Docker CE

  • About Docker EE

  • Docker EE for Red Hat Enterprise Linux 7.4

  • Docker Installation in SLES SP2

  • Post-installation steps for Linux

Notes:

For ,

"2.2.2.2 Install the latest version of docker-ee

sudo zypper install docker-ee   "

You may encounter below issues:

  • A:

" Failed to mount cd:///?devices=/dev/disk/by-id/ata-VMware_Virtual_IDE_CDROM_Drive_10000000000000000001 on /var/adm/mount/AP_0xxXbHZP: Mounting media failed (mount: no medium found on /dev/sr0)

"

Solution1:

Step 1:  Right click on your vm at home page,  make sure the  two highlighted check boxes and file path is right, then click OK

Step 2: run the command again:

# zypper install docker-ee

Solution 2:

if you are not able to access to  host home page , in the  terminal, run command below :

$ sudo zypper lr –d

$sudo  zypper mr -d -R -p 101 1

Then reinstall docker-ee again:

$sudo zypper install docker-ee

 
  • :  
    If you encounter below error, please check you networking setting:

Solution: In Modify DNS Configuration, select the way the DNS configuration (name servers, search list, the content of the/etc/resolv.conf file) is modified.

Adding the following lines at the end of the file:

search suse

nameserver 192.168.28.212 (modify accord to your host machine)

nameserver 8.8.8.8

Docker installation in sles SP2的更多相关文章

  1. docker installation on ubuntu

    Ubuntu Docker is supported on these Ubuntu operating systems: Ubuntu Xenial 16.04 (LTS) Ubuntu Trust ...

  2. docker installation and usage

    From 一.环境配置的难题 软件开发最大的麻烦事之一,就是环境配置.用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来? 用户必须保证两件事:操作系统的设置,各种库和组件的安装.只有 ...

  3. 深入Docker

    深入Docker 作者:ramanallamilli 随着持续交付等新型开发方法的兴起,工程师再也不会凡事靠运气,希望提交代码上去后,它能在未知环境正常运行.我们可以看到业界这样的转变——开发,质量保 ...

  4. Install Docker on Mac OS X(转)

    Install Docker on Mac OS X You can install Docker using Boot2Docker to run docker commands at your c ...

  5. Docker on CentOS for beginners

    Introduction The article will introduce Docker on CentOS. Key concepts Docker Docker is the world's ...

  6. Docker Architecture、Docker Usage

    目录 . 引言 - 为什么要有Docker技术 . Docker简介 . Docker安装.部署.使用 . Docker安全 . Docker底层实现 . Docker网络配置 . Dockerfil ...

  7. Learn Docker

    Learn Docker A Container is to VM today, what VM was to Physical Servers a while ago. The workload s ...

  8. docker install for centos7

    CentOS Docker runs on CentOS 7.X. An installation on other binary compatible EL7 distributions such ...

  9. 我的docker全套流程例子

    本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 下文是自己从搭建docker到docker里安装mysql到 ...

随机推荐

  1. E20170829-mk

    Parse   vt. 从语法上描述或分析(词句等); serial    adj. 连续的; 连载的; 顺序排列的; 分期偿付的; MultiThread n. 多线程; 多流; concurren ...

  2. Linux<小白>详细笔记

    目录   应放置的内容 /bin  系统有很多放置执行文件的目录,但是/bin目录比较特殊./bin放置的是在单用户维护模式下还能够被操作的命令.在/bin下面的命令可以被root与一般用户使用. / ...

  3. go的基础数据类型

    一.基础数据类型 在go语言中,数据类型用于申明函数和变量 go语言的类型 数据类型 描述 布尔型 布尔型值的只能是true 和 false ,例如 var b bool = true, 布尔型值声明 ...

  4. netty之ByteBuf详解

    [ChannelPromise作用:可以设置success或failure 是为了通知ChannelFutureListener]Netty的数据处理API通过两个组件暴露——abstract cla ...

  5. Entity Framework Code First -- 延迟加载和预先加载

    还是以这两个表为例子 country包含零个或多个city, 这个外键关系是我后来加上去,原来没有. 然后再用Power Tool逆向, 产生如下代码 1: using System.Componen ...

  6. 1C课程笔记分享_StudyJams_2017

    课程1C 概述 课程1C是创建一个生日贺卡应用的实践课程,所以本篇笔记分享主要记录个人的实践过程,此外分享一些比较零散的知识点. Drawable文件夹 Drawable文件夹是Android项目统一 ...

  7. SQL优化--使用 EXISTS 代替 IN 和 inner join来选择正确的执行计划

    在使用Exists时,如果能正确使用,有时会提高查询速度: 1,使用Exists代替inner join 2,使用Exists代替 in 1,使用Exists代替inner join例子: 在一般写s ...

  8. Net.Json 常用例子

    #JsonConvert 例子 内容主要都是官方的例子,加上一些中文注释而已. 主要方便自己查询,分享一份出来. 参考文档: https://www.newtonsoft.com/json/help/ ...

  9. openMSP430之io_test

    openMSP430: IO functionality test with interupt #include "omsp_system.h" volatile char shi ...

  10. AI:IPPR的数学表示-CNN方法

    前言: 随着超量类别PR和高精度的需求,人工特征方法局限性凸显出来,固定的特征hash压缩映射因其压缩损失.表现为特定的特征hash方法,在海量的同类数据集上近邻特性变差,而在不同类别的数据上面隔离性 ...