引言:

沙箱虚拟化是一种资源的管理技术,将计算机中的实体资源,进行抽象,然后呈现出来,目的是为了打破实体结构之间的不可分割障碍,使用户以更好的组态使用资源。
例如:
anaconda 就是以沙盒环境,针对的是Python环境。
搭建django过程中的virtualenv 就是python的虚拟环境。

一、docker简介

docker使用集装箱的思想,在开发过程中犹豫每个人的教育背景,个人习惯不同,代码水平不一致。有的程序写在linux环境,有的代码写在windows环境,在开过程中没有问题,但是项目部署上线时,由于前面几种原因,会导致各种兼容问题,会大大影响项目的部署时间。为了避免以上问题,我们可以创建相同的虚拟环境,同时都在虚拟环境中开发,上线部署时,只需要将环境整个打包部署。

原理(三个概念):

镜像 images 封装好的一个docker实例,包含运行应用的依赖环境,和程序,只读的(相当于一个文件夹,但这个文件夹包含应用运行的依赖环境和程序,可以复制到别的地方,复制的就是镜像)

是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器,是由一层一层的系统文件组成

容器 container :用来打开,并使用镜像,创建了虚拟环境。每个容器间是相互隔离的

仓库 registry :用来存放镜像,镜像一般存在远程仓库 docker hub,仓库分为公共库 私有库

总结:

docker 是一种新的虚拟化技术,速度快 占用资源少。
针对的也是系统级的沙箱环境,提供独立的开发环境
安全性好,沙箱环境可以随时关闭,所以不存在感染病毒,使用沙箱环境起到隔离的作用

二、常用操作

安装docker
centos yum源中提供docker安装包

yum install docker -y

1.查看版本

docker --version

2.查看服务状态

systemctl status docker

3.启动和关闭服务

systemctl start docker
systemctl stop docker

三、镜像操作

1.查看本地镜像
docker images  
2.查找镜像

查看远程仓库的镜像 格式: docker search 镜像名

docker search mysql
3.拉取镜像

格式:docker pull 镜像的名字

镜像操作 两个: 一个拉取镜像pull 上传镜像push

例子:拉取有mysql应用的镜像
在这里插入图片描述

downloading	正在下载
download complete	下载完成
waiting	等待下载
Pull complete	下载完成
4.修改本地镜像的仓库名

格式:

docker tag 仓库名 新名字
5.删除镜像

格式:

docker image rmi 镜像id/镜像名
docker rmi 镜像id或者镜像名

四、容器操作

1.创建容器

第一种创建容器,不启动容器

docker create  -it --name=名字 镜像id  /bin/bash

在这里插入图片描述
-i 和-t一起运行容器创建后就能登陆进去,并且分配一个伪终端

第二种:创建容器,并启动容器
docker run -dit --name 容器名 镜像id   /bin/bash

在这里插入图片描述

2.启动容器(创建未运行时用create创建)

格式:

docker  start  -ai  容器名

在这里插入图片描述
在这里插入图片描述

3.进入容器(用run创建)

格式:

docker exec  -it   容器名  /bin/bash

在这里插入图片描述
在这里插入图片描述

4.退出容器 :exit
5.查看容器

查看正在运行的容器

docker ps
docker container ls

查看所有的容器

docker ps  -a
docker container ls --all

6.停止/关闭容器

格式:

docker container stop 容器id或者容器名字

在这里插入图片描述

7.启动容器(正常启动容器)

格式:

docker container start  容器id或者容器名字

在这里插入图片描述

8.删除容器

格式:

docker container rm 容器ID或者容器名字

注意:正在运行的容器无法删除

9.杀死容器(相当于强制停止容器,没有删除容器)

格式:

docker container kill 容器ID或者容器名字

四、使用mysql镜像

第一步:

docker run -itd --name mysql01 -e  MYSQL_ROOT_PASSWORD=密码  镜像id  

刚下的mysql镜像要通过-e 指定一个密码

指定端口号3306映射到的宿主机的33306

在这里插入图片描述
第二步:

docker exec -it mysql01 /bin/bash

第三步:

mysql -uroot -p123456

在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐