美文网首页
1.1docker基础

1.1docker基础

作者: 刘岩2019 | 来源:发表于2019-03-29 02:40 被阅读0次

一:docker介绍

码头工人,开源的容器引擎,轻量级的虚拟机,可以看成是一个进程,这个进程可以启动操作系统镜像,启动以后是容器,容器是沙箱环境,容器和容器之间没有任何关联

二:VMware虚拟机和docker应用场景不同:

1.虚拟机更擅长于彻底隔离整个运行环境。如: 云服务提供商(阿里服务器)通常采用虚拟机技术隔离不同的用户。
2.Docker通常用于隔离不同的应用程序,例如前端,后端以及数据库。

00.JPG

资源的使用率不同:虚拟机启动需要数分钟,而Docker容器可以在数毫秒内启动。Docker占用系统资源小.

三:docker的版本

1.Docker-CE -> 社区版
(1)Stable 版(推荐安装使用) 稳定版,一个季度更新一次
(2) Edge 版 非稳定版,一个月更新一次

2.Docker-EE ->企业版,收费的

四:docker架构与核心组件

1.客户端:
linux终端, 用来操作docker指令

2.docker服务器:
管理docker容器和docker镜像,是守护进程(有一个应用程序, 没有操作终端,不能和用户进行交互,在后台周期性的执行某些操作)

3.docker镜像:
是操作系统类型的磁盘文件,用户可以自己制作, 也可以从官方提供的镜像仓库(docker hub) 下载

  • nginx镜像:有一个操作系统, 上边安装了nginx
  • ubuntu镜像:有一个ubuntu操作系统
  • redis镜像:有一个操作系统, 上边安装了redis
  1. docker容器
    通过docker操作命令可以将磁盘上的docker镜像启动, 启动之后就是docker容器,容器中运行的是一个操作系统

五:docker安装和卸载(见文章末尾)

六:docker加速器设置 -> 可选(见文章末尾)

七:查看docker版本时,遇到的权限问题

$ docker version  
Client:
 Version:           18.09.0
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        4d60db4
 Built:             Wed Nov  7 00:49:01 2018
 OS/Arch:           linux/amd64
 Experimental:      false
Got permission denied while trying to connect to the Docker 
daemon socket at unix:///var/run/docker.sock: Get 
http://%2Fvar%2Frun%2Fdocker.sock/v1.39/version: 
dial unix /var/run/docker.sock: connect: `permission denied`
00.JPG

问题:对于/var/run/docker.sock文件默认权限660,拥有者root,有读写权限,组用户docker有读写权限,其他用户没有任何权限,当前用户itcast为其他用户

1.png

1.文件访问者:
拥有者u——-user
所属组g——-group
其他用户o—–other

2.文件访问权限的种类:
可读(r) 可写(w) 可执行(x)

解决方案:

解决方案1:   在指令前添加sudo
sudo docker version

解决方案2:将当前用户, 添加到docker组中
(1)检测docker组是否存在
vi /etc/group  在这个文件中搜索 docker 关键字
cat /etc/group 

(2) 将当前用户添加到docker组中
sudo gpasswd -a itcast docker
sudo gpasswd -a 当前用户 要添加到的组

(3)重启docker服务器服务
sudo systemctl restart docker

(4)如果不行, 执行下边的命令,itcast用户默认在itcast组中,虽然已经添加到docker组,但是当前组可能是itcast组,所以进行组切换,切换到docker组
newgrp - docker


解决方案3: 修改/var/run目录下的docker.sock文件权限,文件默认权限是660,将权限改成666,让其他用户有读写权限

sudo chmod 666 docker.sock 

电脑重启一次需要设置一次

八:docker服务相关操作命令

# 启动
sudo systemctl start docker
# 关闭
sudo systemctl stop docker
# 重启
sudo systemctl restart docker
# 查看状态
sudo systemctl status docker


五:docker安装和卸载

安装

# 1. 安装基本软件
$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common lrzsz -y
# 2. apt仓库添加并阿里云的docker软件包
# 把下载的key添加到本地trusted数据库中。
$ sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 3. 升级软件源
$ sudo apt-get update
# 4. 安装docker
$ sudo apt-get install docker-ce -y
# 5. 测试docker
$ docker version
https://www.jianshu.com/p/07e405c01880

卸载

# 卸载软件
sudo apt-get purge docker-ce 
    - 删除对用的信息文件+应用程序
sudo apt-get remove docker-ce 
    - 只删除应用程序
    
# 删除目录
/etc/docker -> 身份认证目录
/var/lib/docker -> 存储镜像的

$ sudo rm /etc/docker /var/lib/docker -r

六:docker加速器设置 -> 可选

# docker安装完成之后, 启动docker容器需要镜像, 镜像需要从官方下载, 可以通过配置加速器, 提高下载速度

# 访问 https://dashboard.daocloud.io 网站,登录 daocloud 账户
# 提交下载镜像的速度
# 打开加速页面, 拷贝下边的命令到linux终端, 执行
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
# 可以去 /etc/docker/daemon.json
这个文件中添加了一句话:
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}
# 重启docker服务
sudo systemctl restart docker

相关文章

  • 1.1docker基础

    一:docker介绍 码头工人,开源的容器引擎,轻量级的虚拟机,可以看成是一个进程,这个进程可以启动操作系统镜像,...

  • Linux中Docker安装运行Nginx、MySQL、Tomc

    [TOC] 1.Docker 安装运行 Nginx 1.1Docker 安装 Nginx 1.1.1.docker...

  • 1.1DOCKER(2) 功能

    docker最重要的概念: image就像程序里的类,container就像程序里的实例。可以每次运行都新建一个实...

  • 2020-08-01docker详解教程

    docker详解教程博客 1.1docker容器管理商 1.2docker安装镜像 docker-ce的镜像源ht...

  • mysql安装及预置数据

    1.mysql安装与卸载 1.1docker下安装并启动mysql 1.2 用户管理 2.数据预置 2.1.方法1...

  • docker 基础教程

    1.docker的技术原理 1.1docker 新一代的PAAS平台 新一代的云应用平台技术则实现全方位的应用生命...

  • 机械设备安装技术

    设备基础种类及应用 垫层基础允许产生沉降:大型储罐 浅基础扩展基础联合基础:轧机独立基础 深基础桩基础:适用于需要...

  • 基础,基础,基础

    如果有人现在问我,JAVA该怎么学,我会告诉他不要急于求成,少看视频,多练,多思考。但说到这里有人可能会反...

  • 【Android】知识点汇总,坚持原创ing

    Android基础 Java基础 Java基础——Java内存模型和垃圾回收机制 语法基础 语法基础——C语法基础...

  • Java 基础

    Java 基础01Java开发入门 Java 基础02Java编程基础 Java 基础03面向对象 Java 基础...

网友评论

      本文标题:1.1docker基础

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