前言
docker是一项容器虚拟化技术,解决痛点:便于系统平滑移植(方便项目部署、迁移)
一、docker基础概念
仓库
集中存放镜像文件的场所(类似与maven仓库存放各种的jar包)仓库分为公开仓库和私有仓库,可在docker仓库查看需要安装的镜像。
镜像
镜像可以用来创建容器,一个镜像可以创建多个容器(他们的关系类似java的类和实例对象,类能创建多个实例对象)
容器
是用镜像创建的运行实例,它可以被启动、开始、运行、停止、删除。每个容器都是相互隔离的、保证安全的平台。容器可看成是一个简易版的Linux环境和运行正在其中的应用程序。
二、Linux安装docker全流程
前置Linux执行命令
1、yum -y install gcc
2、yum -y install gcc-c++
3、yum install -y yum-utils
4、yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、yum makecache fast
安装docker
yum -y install docker-ce docker-ce-cli containerd.io
启动docker
systemctl start docker
检查是否成功安装
1.查看启动的docker服务进程:ps -ef|grep docker
2.通过命令:docker version能打印docker版本相关信息
helloworld测试
使用命令:docker run hello-world,本地没有会先从仓库拉,出现hello from docker的信息表示成功
配置阿里镜像加速
1、新建文件夹
mkdir -p /etc/docker
2、命令(直接执行):
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://gr3s1bqy.mirror.aliyuncs.com"]
}
EOF
3、重新加载并重启服务器
systemctl daemon-reload
systemctl restart docker
docker卸载
停掉docker
systemctl stop docker
移除相关内容
yum remove docker-ce docker-ce-cli containerd.io
删除掉相关文件夹
rm -rf /var/lib/docker、rm -rf /var/lib/containerd
三、docker镜像操作(zookeeper为例)
查找镜像
docker search zookeeper
拉取(下载)镜像
docker pull zookeeper
小说明:不跟版本下载的是最新的版本,下载具体版本的命令如下:
docker pull zookeeper:3.5.9
查看拉取的所有镜像
docker images
查看镜像详细信息
docker inspect zookeeper
删除镜像
docker rmi image #image可以为“镜像短ID”、“镜像长ID”、“镜像名”、“镜像的digest”
四、docker容器操作(zookeeper为例)
新建一个文件夹
mkdir zookeeper
挂载本地文件夹并启动
docker run -d -e TZ="Asia/Shanghai" -p 2181:2181 -v /root/docker/zookeeper:/data --name zookeeper --restart always zookeeper
参数解释
-e TZ="Asia/Shanghai" # 指定上海时区
-d # 表示在一直在后台运行容器
-p 2181:2181 # 对端口进行映射,将本地2181端口映射到容器内部的2181端口
--name # 设置创建的容器名称
-v # 将本地目录(文件)挂载到容器指定目录;
--restart always #始终重新启动zookeeper
查看容器
docker ps
进入容器(zookeeper)
方式一
docker run -it --rm --link zookeeper:zookeeper zookeeper zkCli.sh -server zookeeper
说明:上面操作,直接登录到容器时,直接进入到 zkCli中
方式二(推荐)
docker exec -it zookeeper bash #只登录容器,不登录
zkCli./bin/zkCli.sh #执行脚本新建一个Client,即进入容器
停止容器
docker stop containerid #containerid为容器ID,通过docker ps查看得到
删除容器
docker rm containerid #containerid为容器ID,通过docker ps查看得到
ENDING
好久没写博客了,更多是为了自己学习,欢迎大佬批评指正,今后也要更努力才行,共勉。