Docker 19+Ubuntu18.04安装StepByStep

Part1. 安装Ubuntu18.04 Desktop

虚拟机环境:VMWare Workstation 15
虚拟机配置:1cpu 4核  8G 内存  40G硬盘(立即分配空间+单文件)
虚拟机网络:NAT网络


1.1 创建虚拟机

  • step1.


    webp

    图1-1稍后安装系统

  • step2. 选择操作系统


    webp

    图1-2 ubuntu64位

  • step3. 选择CPU


    webp

    图1-3 选择CPU

  • step4 选择内存8192(图略),使用网络为NAT


    webp

    图1-4网络类型为NAT

  • step5 IO类型、磁盘类型为推荐即可

  • step6 磁盘类型为提高性能,选择立即分配空间


    webp

    图1-6 立即分配磁盘

  • step7 继续下一步,确认规格后,点击自定义硬件


    webp

    图1-7 自定义硬件


    webp

    图1-8选择安装镜像引导光盘


    设置iso后,关闭窗口,点击完成,启动虚拟机。

1.2 安装系统


webp

图1.2 -1 install ubuntu


选择最小安装,不要勾选下载更新!


webp

图1.2-2安装类型选择


下一步,选择默认设置,擦除磁盘,确认后,进入安装流程。


webp

图1.2-3格式化磁盘提醒


下一步,选择时区,默认shanghai,下一步,创建用户账户


webp

图1.2-4创建账户


安装完成后,重启虚拟机,进入下一步配置工作。

Part2. 配置Ubuntu


ubuntu的配置主要分为几步

  1. 安装openssh-server

  2. 配置apt 软件仓库国内镜像

  3. 配置网络、关闭防火墙

  4. vmtools 安装

注:18的ubuntu 图形界面跟vmware的兼容不是很友好,执行命令前,建议手动更改分辨率

webp

更改分辨率


下面分步骤来讲解:

2.1 安装openssh-server

默认ubuntu 桌面版本没有安装ssh server,第一步我们必须先装上。
先更新apt 软件库,再执行安装

sudo apt-get update
sudo apt-get install openssh-server

webp

图2.1 -1 ssh-server安装成功


检查当前网络IP地址,因为是NAT,地址是动态获取的。
执行网络命令查看

ip a


webp

图2.1-2 获取到IP地址


在主机桌面使用ssh客户端如putty 登录,进行下面的配置。
注意:ssh 登录用户为安装时创建的用户,root用户尚未启用


2.2 配置apt-get 国内镜像站

su@su-ubu18:~$  sudo vi /etc/apt/sources.list

镜像文件:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
 
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# https://opsx.alibaba.com/mirror
deb https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
 
# 仿照清华镜像源,注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
# deb-src https://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse 
# deb-src https://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse 
# deb-src https://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse 
# deb-src https://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse 
# deb-src https://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

编辑结束后,wq 保存推出

#更新apt
sudo apt-get update

2.3 配置网络、关闭防火墙

注意:
ubuntu 18版本的网络配置抛弃了传统的方式,引入了yaml配置文件的形式

网络配置方法:
打开并编辑yaml配置文件

sudo vi /etc/netplan/01-network-manager-all.yaml

配置如下(静态IP为192.168.234.50 ,网关为vmware的NAT网关地址):

# Let NetworkManager manage all devices on this systemnetwork:
  ethernets:
    ens33:
      addresses:
      - 192.168.234.50/24      dhcp4: false
      gateway4: 192.168.234.2      nameservers:
        addresses: [223.5.5.5]
        search: [localdomain]
  version: 2
  renderer: networkd

注意:
此处的renderer ,系统默认为NetworkManager,如果不修改,
将启用NetworkManager配置网络,那么DNS的配置部分将需要进入图形界面配置才能生效

配置保存后,启用netplan命令应用配置

sudo netplan apply

关闭防火墙
为了练习方便,我们关闭掉防火墙服务,docker要使用iptables,因此我们只关闭ufw即可

sudo systemctl disable ufw && sudo systemctl stop ufw

2.4 安装vmtools

这里我们直接安装vmware官方的tools,通过虚拟机挂载tools,将tools自动挂载到光驱目录
/media/[用户名]
进入VMware Tools文件夹拷贝光驱文件
VMwareTools-10.3.10-12406962.tar.gz
到用户目录下

su@su-virtual-machine: cp VMwareTools-10.3.10-12406962.tar.gz ~/

解压缩

su@su-virtual-machine:/media/su/VMware Tools$: cd ~
su@su-virtual-machine:~$ tar -xvf VMwareTools-10.3.10-12406962.tar.gz

进入目录,执行安装

su@su-virtual-machine:~/vmware-tools-distrib$ sudo ./vmware-install.pl

open-vm-tools packages are available from the OS vendor and VMware recommends
using open-vm-tools packages. See http://kb.vmware.com/kb/2073803 for more
information.
Do you still want to proceed with this installation? [no]

输入yes,继续安装,遇到提示回车默认。
在最后提示主机文件共享时,选择no
The VMware Host-Guest Filesystem allows for shared folders between the host OS
and the guest OS in a Fusion or Workstation virtual environment.  Do you wish
to enable this feature? [yes]
下面,继续回车默认,安装成功。

You must restart your X session before any mouse or graphics changes take
effect.

To enable advanced X features (e.g., guest resolution fit, drag and drop, and
file and text copy/paste), you will need to do one (or more) of the following:
1. Manually start /usr/bin/vmware-user
2. Log out and log back into your desktop session
3. Restart your X session.
Enjoy,
--the VMware team

Part3. 安装docker

安装docker主要有以下几步:

  1. 更新镜像仓库 apt-get update

  2. 安装https 支持相关组件

  3. 添加Docker的官方GPG密钥

  4. 设置docker稳定存储库

  5. 安装docker-ce

3.1 更新镜像

sudo apt-get update

3.2 安装https相关组件

su@su-virtual-machine:~/vmware-tools-distrib$  sudo apt-get install \
  apt-transport-https \
  ca-certificates \
  curl \
  software-properties-common

遇到配置界面,选择yes


webp

libssl 配置向导

3.3 添加Docker的官方GPG密钥

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK

确认秘钥指纹的正确性:
通过搜索指纹的最后8个字符,确认您现在拥有指纹9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88的密钥。

$ sudo apt-key fingerprint 0EBFCD88
pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <[email protected]>
sub   rsa4096 2017-02-22 [S]

3.4 设置docker稳定存储库

根据以下命令,设置docker的稳定版存储库

$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

#刷新镜像apt仓库后直到出现以下信息:
Fetched 327 kB in 1s (231 kB/s)
Reading package lists... Done

3.5 安装Docker-CE版本(最新版)

先更新仓库

$ sudo apt-get update

安装最新版docker-ce

$ sudo apt-get install docker-ce

遇到提示,默认回车即可。
安装结束后,检查docker服务是否已经启动

$ systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e
   Active: active (running) since Fri 2020-03-13 04:57:44 CST; 30s ago
     Docs: https://docs.docker.com

$ sudo docker -v
Docker version 19.03.8, build afacb8b7f0

恭喜你,docker安装结束!!
下一步,配置docker镜像仓库加速!!

Part 4. 配置Docker环境

由于大家所知的原因,docker的镜像仓库国内访问非常慢,为此感谢国内各大互联网机构提供了镜像加速服务。
目前可用的镜像站点有:
https://registry.docker-cn.com
http://hub-mirror.c.163.com
https://3laho3y3.mirror.aliyuncs.com
http://f1361db2.m.daocloud.io
https://mirror.ccs.tencentyun.com
注意:阿里云的镜像加速建议利用自己的阿里云账户配置属于自己的加速URL
可进入阿里云地址:
https://cr.console.aliyun.com/undefined/instances/mirrors
配置自己的加速URL
这里推荐大家使用配置文件的方法,配置加速镜像

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

配置完成后重启docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker

测试docker

这里利用hello-world镜像测试一下

$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
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.
    (amd64)
 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.

Wonderful !! 成功了!!

接下来,抛掉docker前的sudo 吧

由于docker daemon需要绑定到主机的Unix socket而不是普通的TCP端口,而Unix socket的属主为root用户,所以其他用户只有在命令前添加sudo选项才能执行相关操作。
so,我们配置一下:

  1. 创建一个docker组

$ sudo groupadd docker
  1. 添加当前用户到docker组

$ sudo usermod -aG docker $USER
  1. 退出shell ,重新登录

  2. 验证一下docker

$ docker run -d -p 8080:80 httpd
Unable to find image 'httpd:latest' locally
latest: Pulling from library/httpd
68ced04f60ab: Pull complete
35d35f1e0dc9: Pull complete
8a918bf0ae55: Pull complete
d7b9f2dbc195: Pull complete
d56c468bde81: Pull complete
Digest: sha256:946c54069130dbf136903fe658fe7d113bd8db8004de31282e20b262a3e106fb
Status: Downloaded newer image for httpd:latest
eb30b7c95707b40cf0a9a2f09fd1e08ef98dc35a8998e42b143495e4362f63b4

webp

成功,Again!

Bingo!! Enjoy it!


以上,部分来自网络,若要一起讨论学习云计算、Docker、Kubernetes等,
可加群与我讨论:1038340570(运维人基地)


猜你喜欢

转载自blog.51cto.com/13477015/2478122