01、Docker入门之Centos7安装和基本操作
Docker入门
一、 Docker是什么
Docker是一个由GO语言写的程序运行的“容器”(Linux containers, LXCs),它是完整的一套容器管理系统
Docker提供了一组命令,让用户更加方便直接地使用容器技术,而无需要过多关心底层内核技术
注1:什么是容器?
一个容器就相当于一个虚拟机
注2:docker用途,目前有三大类
1.提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境
2.提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容
3.组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构
二、Docker与虚拟化
传统来看,虚拟化既可以通过硬件模拟来实现,也可以通过操作系统软件来实现 而容器技术则更为优雅,
它充分利用了操作系统本身已有的机制和特性,可以实现远超传统虚拟机的轻量级虚拟化 因此,有人甚至把它称为
“新一代的虚拟化”技术,并将基于容器打造的云平台亲切地称为“容器云”毫无疑问,
Docker 正是众多容器技术中的佼佼者,是容器技术发展过程中耀眼的一抹亮色
Docker 和常见的虚拟机方式的不同之处
三、4. 核心概念
Docker大部分的操作都围绕着它的三大核心概念: 镜像、容器和仓库(本章只用到镜像/容器)
四、CentOS7 安装docker(在线方式)
注:Docker支持运行CentOS版本:CentOS 7.X
1、内核版本信息检查
uname -r
2、卸载可能存在的旧版本
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叫做docker或者docker-engine,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce
docker-ce(社区版,免费) docker-ee(专业版,收费)
肯定用免费的啊
3、 安装必要的系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
4、添加docker-ce安装源
默认好像是国外的,跟换国内的
yum-config-manager --add-repohttps://download.docker.com/linux/centos/docker-ce.repo
可选
默认开启的是stable稳定版仓库,如果想要安装test测试版或者是边缘版本可使用如下命令开启相关模式,关闭的话只需要将–enable参数换成–disable(可选)
$ yum-config-manager —enable docker-ce-edge
$ yum-config-manager —enable docker-ce-test
5、 更新yum缓存
yum makecache fast
6、 安装docker-CE
这里安装会很慢,耐心等待
yum -y install docker-ce
我用的是最新版上面那条命令,如果你想安装特点的版本,如下:
1)查看版本列表请使用如下命令:
yum list docker-ce --showduplicates | sort -r
2)如果要安装特定版本的docker-CE请使用如下命令格式:
yum install docker-ce-<版本号>
7、验证安装成功后
systemctl status docker //查看运行状态
启停服务
$ systemctl start docker //启动
$ systemctl stop docker //停止
$ systemclt restart docker //重启
8、 运行第一个容器(经典的hello world)
docker run hello-world
输入以上命令后,窗口有输出,表示docker安装成功
以上是安装,下面是关于容器与镜像的基本操作命令
五、镜像
Docker 运行容器前需要本地存在对应的镜像, 如果镜像不存在, Docker 会尝试先从默认镜像仓库下载(默认使用 Docker Hub 公共注册服务器中的仓库), 用户也可以通过配置,使用自定义的镜像仓库
镜像相关操作:
1、 配置加速器
国内从Docker Hub下载镜像速度很慢,我们可以配置阿里云专属加速器来解决
浏览器访问并登陆阿里云(淘宝或支付宝帐号登陆也可以)
https://www.aliyun.com/
登陆后,进入阿里云“控制台”,搜索“容器镜像服务”,然后点击菜单:“镜像中心”–>“镜像加速器”
最后,将容器右边的“加速器地址”复制下来即可
先执行
mkdir -p /etc/docker //创建文件夹
然后
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["你自己加速器的网址"]
}
EOF
执行完毕后可以进入该文件夹查看是否添加完毕
cd /etc/docker/
//查看
cat daemon.json
注意空格格式
2、重新加载daemon
systemctl daemon-reload
3、重启docker
systemctl restart docker
4、下载镜像
两种方式
第一种
docker pull centos
第二种
docker pull centos:版本号
5、查看宿主机上的镜像
docker images
6、删除镜像
docker rmi 镜像ID/标签
六、 Docker容器
容器是Docker的另一个核心概念。简单来说,容器是镜像的一个运行实例。所不同的是,
镜像是静态的只读文件,而容器带有运行时需要的可写文件层,同时,容器中的应用进程处于运行状态
如何理解:类->实例,镜像->容器
常用操作:
创建容器(重点)
docker create -it centos:latest
docker create -it --name tomcat01 centos:latest
注1:命令说明
create:关键字
centos:latest:即镜像名字:版本(或镜像ID),将使用指定镜像创建容器。另外,Docker会检查本地是否存在指定的镜像,
不存在就从公有仓库下载
-it:是两个参数,-i:interactive容器具有交互功能,-t:容器将提供伪终端
–name:指定生成的容器的名字,允许空,如果不指定会自动生成
注2:此时,通过如下命令,可以查看到刚刚创建的容器
$ docker ps - a
注3:create命令新建的容器处于停止状态,可以使用start命令来启动它
$ docker start 容器ID
1、 启动、停止、重启容器命令
$ docker start 容器ID或name
$ docker stop 容器ID或name
$ docker restart 容器ID或name
2、 查看当前运行的容器
docker ps -a
3、查看所有容器
docker ps -a
4、 删除容器
docker rm 容器ID
5、 进入容器(重点)
docker exec -it 容器ID/容器NAME /bin/bash
//简写
docker exec -it 容器ID/容器NAME bash
6、 创建\启动\进入容器(run=create+start)
// 新建->启动->进入容器
$ docker run -it centos:latest /bin/bash
7、退出容器
退出时如果想继续运行容器:按顺序按【ctrl+p】,【ctrl+q】
如果不想继续运行:按【ctrl+d】或输入exit
8、查看Docker容器内部信息
1)进入容器内部获取信息
docker exec -it 容器ID/容器NAME /bin/bash
如果此时已进入容器内部,可分别执行hostname、ip addr、env这三个命令可以获取相关信息
hostname
ip addr
env
2)外部获取信息
在宿主机(localhost),执行docker exec命令
获取容器的hostname:docker exec 容器ID/容器NAME hostname
获取容器ip地址:docker exec 容器ID/容器NAME ip addr
获取容器环境变量:docker exec 容器ID/容器NAME env
还没有评论,来说两句吧...