VMware下载安装
参考地址:VMware下载安装
CentOS7系统安装
参考地址:CentOS7系统安装
Docker安装(保证虚拟机可以访问外网)
官网安装参考手册:官网安装
确定你是CentOS7及以上版本
[root@192 Desktop]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
yum安装gcc相关(需要确保 虚拟机可以上外网 )
yum -y install gcc
yum -y install gcc-c++
卸载旧版本
yum -y remove docker docker-common docker-selinux docker-engine
官网版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
设置stable镜像仓库
# 错误
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
## 报错
[Errno 14] curl#35 - TCP connection reset by peer
[Errno 12] curl#35 - Timeout
# 正确推荐使用国内的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
问题记录:yum-config-manager
命令找不到:
这个是因为系统默认没有安装这个命令,这个命令在yum-utils 包里,可以通过命令
yum -y install yum-utils
安装就可以了
更新yum软件包索引
yum makecache fast
安装Docker CE
yum -y install docker-ce docker-ce-cli containerd.io
启动docker
systemctl start docker
测试
docker version
docker run hello-world
docker images
截止到这里,docker的安装就已经完成了,接下来是jar包的镜像生成
编写DockerFile文件
为了便于管理,我们应该新建一个专门存放对应业务jar包(以及其依赖的jar)的文件夹,我们的所有工作都在该文件夹下进行。
我在home目录下新建busnessService文件夹,将我需要生成镜像的jar包和lib文件夹(里面是业务包依赖的jar)放置在该文件夹下。
DockerFile文件
1.新建DockerFile文件
2.编辑内容如下:
# 基于哪个镜像
FROM java:8
# 将文件挂载到当前容器
VOLUME /tmp
# 复制文件到容器根目录"/",并且命名为app.jar(yourServiceName为你的代码打包成的jar包名称,youNeedJarName为重命名的jar名称,lib为依赖jar)
ADD yourServiceName.jar /youNeedJarName.jar
ADD lib /lib
# 声明需要暴露的端口
EXPOSE 9001
# 配置容器启动后执行的命令,java -jar /app.jar
#ENTRYPOINT ["java","-Xmx4g","-Xms4g","-jar","/youNeedJarName.jar", "--spring.profiles.active=test"]
3.编辑完成后保存
镜像生成
1.构建生成镜像
#生成镜像(yourImageName为生成的镜像名称)
#第一次执行比较慢,因为要从java:8镜像下载东西
docker build -t yourImageName:1.0.0 .
2.压缩保存
#将你的镜像文件(yourImageName)压缩并保存为名称是yourImageTarName的tar文件
docker save -o yourImageTarName.tar yourImageName:1.0.0
验证
查看你的busnessService文件夹下内容,会发现多出一个
yourImageTarName.tar
,这个就是你生成并压缩后的镜像文件了。
参考
https://www.cnblogs.com/yanl55555/p/13438328.html
https://blog.csdn.net/rcjjian/article/details/79283824
https://www.cnblogs.com/zhmiao/p/11864920.html