首页 > 编程学习 > Docker学习(一)

Docker学习(一)

发布时间:2022/11/14 14:05:07

一、什么是Docker?

1、Docker 是一个开源的应用容器引擎,是虚拟化的一种轻量级替代技术。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,开销很低。docker解决了服务器昂贵的问题,生产环境和测试环境不一致的问题。

个人理解:Docker相当于一个宾馆,这个宾馆中又包含着许多房间,每个房间是独立存在的,互相不打扰。在这里以MySQL为例,我们会将开发所用的MySQL应用,单独的将整个MySQL且其所包含的各种依赖和函数库放到MySQL专属房间中。我们将每个开发中所用的应用都放到一个独立的房间中,这样就避免了应用之间的互相打扰。

二、Docker的作用?

1、Docker解决依赖兼容问题。

(1) 将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包。

(2) 将每个应用放到一个隔离容器去运行,避免互相干扰。

2、Docker解决操作系统环境差异。

(1)Docker将用户程序与所需要调用的系统(比如Ubuntu)函数库一起打包。

(2)Docker运行到不同操作系统时,直接基于打包的函数库,借助于操作系统的Linux内核来运行。

(3)Docker镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此可以在任意Linux操作系统上运行。

总结:大家具体可以参考一下这张图,然后加深理解。
在这里插入图片描述

三、理解Docker概念?

1、镜像

Docker将应用程序及其所需要的依赖、函数库、环境、配置等文件打包在一起,称为镜像。(类似于我们打包文件)

2、容器:

镜像中的应用程序运行后形成的进程就是容器,但是Docker会给容器对象进行隔离,对外是不可见的,并且要注意一个镜像是可以启动多次的,形成多个容器进程。
(例如你下载了一个QQ,如果我们将QQ在磁盘上的运行文件及其运行的操作系统依赖打包,形成QQ镜像。然后你可以启动多次,双开、甚至三开QQ,跟多个妹子聊天。)

3、Docker架构模式:

Docker是一个CS架构的程序,主要由服务端和客户端组成:

(1)服务端(server):Docker守护进程,负责处理Docker指令,管理镜像、容器等。

(2)客户端(client):通过命令或RestAPI向Docker服务端发送指令。可以在本地或远程向服务端发送指令。

四、Docker的安装:

安装环境:centos7

(1)注意用户权限需要升到root权限,输入:su root,然后输入密码即可。

(2)并且要确保虚拟机已经联网!

安装步骤:

1、卸载,在控制台输入如下代码,然后回车。

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

碰到的问题:

(1)运行yum命令出现“Existing lock /var/run/yum.pid: another copy is running as pid…”解决方法?

问题分析:yum只能支持一个进程运行,如果有一个进程已经在运行,其他的必须等待该进程退出释放lock。

解决办法:暂停之前的yum进程即可,控制台输入如下代码,即可解决。

rm -f /var/run/yum.pid

在这里插入图片描述

2、开始安装:

(1)安装yum工具,然后回车。

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

(2)然后更新本地镜像源,然后回车。

# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

(3)安装Docker社区版本:

yum install -y docker-ce

(4)配置镜像加速:

在这里我们选用阿里云的镜像地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors。
在这里复制的时候可以将红框中的代码全部直接复制到虚拟机上,然后回车!

碰到的问题:在这里一定要根据自己虚拟机的版本选择合适的加速器!!!!

在这里插入图片描述

Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式