docker 沙箱(沙盒)简介
引言:沙箱虚拟化是一种资源的管理技术,将计算机中的实体资源,进行抽象,然后呈现出来,目的是为了打破实体结构之间的不可分割障碍,使用户以更好的组态使用资源。例如:anaconda 就是以沙盒环境,针对的是Python环境。搭建django过程中的virtualenv 就是python的虚拟环境。一、docker简介docker使用集装箱的思想,在开发过程中犹豫每个人的教育背景,个人习惯不同,代码水平
引言:
沙箱虚拟化是一种资源的管理技术,将计算机中的实体资源,进行抽象,然后呈现出来,目的是为了打破实体结构之间的不可分割障碍,使用户以更好的组态使用资源。
例如:
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

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

所有评论(0)