Docker技术入门与实战笔记(一)

本文是我在学习《Docker技术入门与实战》第3版(杨保华 戴王剑 曹亚仑编著)时所做的笔记,有许多描述不清楚的地方,还请见谅,建议自行购买学习。

介绍
docker是基于Go语言实现的开源容器项目。
docker优势:
1、更快速的交付和部署;
2、更高效的资源利用;
3、更轻松的迁移和扩展;
4、更简单的更新管理。
docker是内核级的虚拟化,内核通过创建多个虚拟的操作系统实例(内核和库)来隔离不同的进程,也是操作系统级虚拟化。docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,因此更加轻量级。

核心概念
docker有三大核心概念,镜像、容器和仓库。
镜像是创建容器的基础,类似于虚拟机镜像,可以将它理解成一个只读的模板。
容器是从镜像创建的应用运行实例,可以启动、开始、停止、删除,这些容器都是彼此相互隔离、互不相见的。容器类似于一个轻量级的沙箱,docker利用容器来运行和隔离应用。
仓库类似于代码仓库,是集中存放镜像文件的场所。最大的公开仓库是官方提供的Docker Hub。如果用户不希望公开分享自己的镜像文件,docker也支持用户在本地网络内创建只能自己访问的私有仓库。

安装
我使用的是ubuntu19.04系统,因此以ubuntu19.04系统为例来讲述如何安装docker以及踩过的坑。
从docker官网https://www.docker.com/中找ubuntu下的安装教程https://docs.docker.com/install/linux/docker-ce/ubuntu/。
1、确定docker以及依赖包未安装:
sudo apt-get remove docker docker-engine docker.io containerd runc
2、更新下软件源:
sudo apt-get update
3、安装过程中需要的软件:

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

4、执行:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88

5、执行:

lsb_release -cs
uname -p

上述两条命令在我的电脑上的执行结果分别是disco和x86_64,根据官网
在这里插入图片描述
上的说明,x86_64和amd64结果都用amd64。

将上述两条命令的执行结果替换到下述命令中暂时别执行,下边这条命令是官方提供的,里边有坑!

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

访问命令中的链接 https://download.docker.com/linux/ubuntu然后根据上述参数往下找deb文件找到路径https://download.docker.com/linux/ubuntu/dists/disco/pool/stable/amd64/,里边确定docker-ce docker-ce-cli containerd.io三个deb文件是否都有,如若没有或者缺少,则不能使用stable,可返回上层后找其它目录,我找到的是https://download.docker.com/linux/ubuntu/dists/disco/pool/nightly/amd64/路径下三个deb文件都有,因此stable改称nightly(我刚开始学的时候stable下没有这3个deb文件,因此自己试了下才发现可以这么改,不过整理这份文档的时候发现stable目录下三个deb文件都已经有了,所以不用作替换了)。需执行的命令是:

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   disco \
   nightly"

具体stable和nightly的区别,自己查阅官方文档https://docs.docker.com/install/
在这里插入图片描述
6、执行:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

7、测试安装结果:

sudo docker run hello-world
docker –version

在这里插入图片描述

免sudo和密码使用docker

直接运行docker命令会遇到如下权限问题:
在这里插入图片描述
原因是/var/run/docker.sock文件,除root用户,只有docker组用户才可读写
在这里插入图片描述
所以,首先将当前用户加入到docker组

sudo gpasswd -a 用户名 docker

然后logout 当前用户,重新登录,就好了。
在这里插入图片描述

————————————————
版权声明:免sudo和密码使用docker部分参考CSDN博主「MainMay」的原创文章整理,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cmzhuang/article/details/80749758

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值