一、安装Docker
1.1 Docker版本
当前有两个版本:社区版(CE) 和 企业版(EE)目前我们安装CE版本。
1.2 安装命令
wget -O- https://get.docker.com/ | sh
有个报错信息:
解决方法:
手动下载并安装,下载地址页面:https://centos.pkgs.org/7/docker-ce-stable-x86_64/containerd.io-1.2.13-3.1.el7.x86_64.rpm.html
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm
yum install -y ./containerd.io-1.2.13-3.1.el7.x86_64.rpm
现在再重新执行一下安装Docker的脚本命令:wget -O- https://get.docker.com/ | sh 即可安装成功。
1.3 设置开机启动
systemctl enable docker
service docker start
可以看到我们已经安装成功了。
二、镜像(image)
2.1 镜像的网址
官方网址: http://www.docker.com/
阿里云镜像:https://dev.aliyun.com/
2.2 拉取镜像
alpine 镜像简介:
Alpine 操作系统是一个面向安全的轻型 Linux 发行版,Alpine 镜像可以适用于更多常用场景,并且是一个优秀的可以适用于生产的基础系统/环境,仅仅只有 5 MB 左右
2.3 常用的镜像命令
//拉取镜像
docker image pull 镜像名称
//列出本地的所有镜像
docker image ls
//展示镜像的细节
docker image inspect 镜像ID
//删除某个镜像(当镜像存在关联的容器,要先停止容器运行后,才可以删除镜像)
docker image rm 镜像ID
三、容器(container)
3.1 容器的概念
容器:是镜像的运行实例。
3.2 常用的容器命令
//启动新容器(-it -id 可选项)
// -i 运行容器
// -t 以终端交互方法(伪终端), -d 以守护式后台运行方式
// --name 容器名称
// -v 映射文件共享
// -p 映射端口
docker container run -id --name=myjavadev alpine
//重启容器运行
docker container start 容器名称/ID
//列出所有容器 -a显示所有容器
docker container ls -a
//停止容器运行
docker container stop 容器名称/ID
//展示容器细节
docker container inspect 容器名称/ID
//删除容器
docker container rm 容器名称/ID
//进入运行容器的内部,新建一个进程
docker container exec -it 容器名称/ID sh
//断开Shell与容器之间的链接
exit
//拷贝文件命令
docker cp 1.txt myjavadev:/usr/local/
以下是以守护式运行一个容器:--id 参数
重新启动容器/停止
拷贝文件命令
修改现有容器的名称
四、生成Java开发环境镜像
4.1 官方常用的t镜像
4.2 Docker Compose部署测试环境
安装 docker-compose工具命令:
//此处使用pip进行安装
yum -y install epel-release
yum -y install python-pip
//安装
yum -y install python-pip
//安装docker-compose
pip install docker-compose
安装报错:
解决方法:发现Centos8默认没有安装 Python,执行安装命令:(python36 自带 pip)直接安装python36就可以了
//安装epel :
yum install python36
//安装docker-compose
/usr/bin/pip3.6 install docker-compose
已经成功安装了:docker-compose 模块工具了。
4.3 生成一份javaweb-dev-docker-compose.yml配置文件
快速部署命令:
$ git clone https://github.com/hqlsoftware/javaweb-dev-docker-compose.git
$ cd javaweb-dev-docker-compose
$ sh init.sh
运维命令:
# docker-compose 命令帮助
$ docker-compose help
# 创建并启动 docker 编排服务
$ docker-compose up
# 停止并移除 docker 编排服务 (更改配置文件时建议使用)
$ docker-compose down
# ssh 登入 javaweb 容器
$ docker-compose exec javaweb-dev-docker-compose bash
速度有些慢,要耐心等待。
4.3 测试运行
目前 javaweb-dev-docker-compose.yml 还有一些问题,正在调试中,调试好,提交代码到git上面
之前内存使用是:
安装好docker后内存是:
五、总结
Docker 优点很多,可以帮我们快速部署和启动应用。方便开发,同时也方便运维。