美文网首页
Docker学习(3)

Docker学习(3)

作者: August________ | 来源:发表于2019-10-23 13:34 被阅读0次

Docker学习(3)

Docker的安装

linux上安装Docker

  • 基于Ubuntu版本的安装

  • 网址:get.docker.com

$ wget -qO- https://get.docker.com/ | sh
# Executing docker install script, commit: f45d7c11389849ff46a6b4d94e0dd1ffebca32c1
+ sudo -E sh -c apt-get update -qq >/dev/null
+ sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sudo -E sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - >/dev/null
+ sudo -E sh -c echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" > /etc/apt/sources.list.d/docker.list
+ sudo -E sh -c apt-get update -qq >/dev/null
+ [ -n  ]
+ sudo -E sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
+ sudo -E sh -c docker version
Client: Docker Engine - Community
 Version:           19.03.4
 API version:       1.40
 Go version:        go1.12.10
 Git commit:        9013bf583a
 Built:             Fri Oct 18 15:53:51 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.4
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.10
  Git commit:       9013bf583a
  Built:            Fri Oct 18 15:52:23 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
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 lhf

Remember that you will have to log out and back in for this to take effect!

WARNING: Adding a user to the "docker" group will grant the ability to run
         containers which can be used to obtain root privileges on the
         docker host.
         Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
         for more information.
lhf@lhf-virtual-machine:~$ sudo usermod -aG docker lhf
  • 最后通过非root用户使用docker
$ sudo usermod -aG docker lhf
$ cat /etc/group | grep docker
docker:x:1001:lhf

  • 查看docker是否安装成功
$ docker --version
Docker version 19.03.4, build 9013bf583a
$ docker system info
Client:
 Debug Mode: false

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 19.03.4
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
 runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
 init version: fec3683
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 4.15.0-45-generic
 Operating System: Ubuntu 16.04.6 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 1
 Total Memory: 962MiB
 Name: lhf-virtual-machine
 ID: LL5Q:6LHC:TMPA:IB7U:5OPG:4VFR:QZBL:TSVF:GC6J:CDPT:OIAD:7UGQ
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No swap limit support

docker引擎(Engine)升级

  • 需要重视升级操作的每个前置条件
  • 包括容器配置了正确的重启策略
  • 引擎的具体操作步骤
  1. 停止docker守护进程
  2. 移除旧版本dcoker
  3. 安装新版docker
  4. 配置新版本的docker为开机自启
  5. 确保容器重启成功

在ubuntu16.4上升级Docker CE

  • 查看版本
$ cat /etc/issue
Ubuntu 16.04.6 LTS \n \l

  • 更新APT包列表
$ sudo apt-get update
  • 卸载当前的docker
$ sudo apt-get remove -y docker docker-engine docker-ce docker.io
  • 安装最近版的docker
$ wget -qO- https://get.docker.com/ | sh
  • 将docker设置为开机自启动
$ sudo systemctl enable docker
Synchronizing state of docker.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install enable docker
$ sudo systemctl is-enabled docker
enabled
  • 检查并确保每个容器和服务都已经重启成功
$ docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
lhf@lhf-virtual-machine:~$ docker service ls

Docker存储驱动的选择

  • 每个docker容器都有一个本地存储空间,用于保存层叠的镜像层以及挂载的容器文件系统。
  • 默认情况下,容器的所有读写操作都发生在其镜像层或挂载的文件系统中,所以存储是容器的性能和稳定性的关键。
  • 本地存储是通过存储驱动进行管理的。
  • 存储驱动在上层抽象设计中都在采用了栈式镜像层和写时复制(Copy-on-Write)的设计思想,但是docker在linux底层支持几种不同的存储驱动的具体实现。
  • 在linux上docker的存储驱动包括:AUFS、Ocerlay2、Device Mapper 、 btrfs 和ZFS
  • 存储驱动的选择是 节点级别 的,所以每个docker主机只能选择一种存储驱动。
  • 修改存储引擎配置
$ cat /etc/docker/deamon.json
{
    "storage-driver": "overlay2"
}

Device Mapper配置

  • 存储驱动一般不需要或者很少配置
  • Device Mapper需要合理的配置才能表现良好的性能
  • 为了达到Device Mapper在生产环境中的最佳性能,需要将底层实现修改direct-lvm的模式
  • direct-lvm这种模式通过使用基于裸块设备(Raw Block Device)的LVM精简池(LVM thin pool)来获得更好的性能。

相关文章

  • Docker培训

    学习参考资料 一、Docker简介 1、简介 2、Docker的应用场景 3、Docker 的优点 3、docke...

  • Docker学习(3)

    Docker学习(3) Docker的安装 linux上安装Docker 基于Ubuntu版本的安装 网址:get...

  • 使用 Docker 安装深度学习环境

    教程|使用 Docker 安装深度学习环境 用 Docker 安装深度学习环境,轻量、方便!整个系统大小仅需2~3...

  • Todo

    TodoList: 3 docker 了解 1 scala implicit 复习 5 scaladoc 学习 1...

  • Docker学习笔记3

    相关命令 通用 image相关 container相关

  • Docker学习笔记#3

    一、网络 docker提供几种网络,它决定容器之间和外界和容器之间怎么样去相互通信。查看网络,我们可以执行: nu...

  • 【Docker学习笔记(三)】Dockerfile解析

    【Docker 学习笔记目录】 【Docker学习笔记(一)】简介、核心概念、安装以及常用命令 【Docker学习...

  • Docker学习笔记3——Docker vs KVM

    啥是KVM? Kernel-based Virtual Machine(KVM) is avirtualizati...

  • Docker 学习笔记 (3) : Docker 镜像定制

    最近赶上项目快要上线, 一直没有时间更新博客, 今天终于有空可以更新了......在前面的章节中, 我们介绍了Do...

  • Docker学习 - 3. Docker的容器

    容器(Container)是Docker的另一个核心的概念。简单的来说,容器是镜像的一个运行实例,不同的是,Doc...

网友评论

      本文标题:Docker学习(3)

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