首先:我是参考着几篇博客:
第一步:先在虚拟机或服务器上安装docker服务https://blog.csdn.net/hangao233/article/details/104395693
https://www.jianshu.com/p/397929dbc27d
1,卸载旧版本要安装Docker Engine,您需要CentOS 7或8的维护版本。不支持或未测试存档版本。
sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
yum报告没有安装这些软件包就可以了。
sudo yum install -y yum-utils3,设置镜像仓库地址
# 默认是国外的
sudo yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
# 换成阿里云镜像地址
sudo yum-config-manager
--add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4,安装最新版Docker Engine容器
安装前建议先将将服务器上的软件包信息现在本地缓存,以提高安装软件的速度
sudo yum makecache fast
# docker-ce社区版(docker-ee企业版) sudo yum install docker-ce docker-ce-cli containerd.io
安装完成后,Docker只安装但并未启动
5,启动Dockersudo systemctl start docker
然后可用docker version命令测试Docker是否安装成功,并查看Docker的版本信息
docker search mysql2,我这次安装的mysql:5.7
所以直接从docker hub上拉取mysql:5.7
docker pull mysql:5.73,运行mysql
#运行容器,需要做数据挂载! #安装启动MySQL,需要配置密码,这是要注意点!
#官方测试:docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
#启动:
-d 后台运行
-p 端口映射
-v 卷挂载
-e 环境配置
–name 容器名字
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.74,查看容器是否创建成功
# docker ps 命令
#列出当前正在运行的容器
-a #列出当前正在运行的容器+带出历史运行过的容器
-n=? #显示最近创建的容器
-q #只显示容器的编号
docker ps
有个命令,可以进入容器内部,ctrl+p+q可以以后台运行的方式退出这个软件
docker exec -it 容器的id /bin/bash5,使用navicat连接服务器或虚拟机上的mysql 6,可以使用navicat提供的工具进行数据的传输
然后可以看到数据已经传输成功:
打包成功会看到出现一个target的目录,里面的jar包就是我们刚刚打包好的
然后对yml文件进行编辑:
在idea的插件市场搜索docker,并安装
然后在根目录下新建一个Dockerfile的文件:
如果显示是这样的说明docker那个插件下载安装成功,然后编写Dockerfile文件:
FROM #基础镜像,一切从这里开始构建。 MAINTAINER #镜像是谁写的,姓名+邮箱 RUN #镜像构建的时候需要运行的命令 ADD #步骤:tomcat镜像,这个tomcat压缩包!添加内容 WORKDIR #镜像的工作目录 VOLUME #挂载的目录 EXPOST #保留端口配置 CMD #指定这个容器启动的时候要运行的命令,只有一个会生效,可被替代。 ENTRYPOINT #指定这个容器启动的时候要运行的命令,可以追加命令。 onBUILD #当构建一个被集成DockerFile这个时候就会运行ONBUILD的指令。触发指令。 COPY #类似ADD,将我们文件拷贝到镜像中。 ENV #构建的时候设置环境变量。3.构建镜像
使用xftp将刚才打包的jar包还有编写的Dockerfile文件上传到虚拟机或是服务器
然后使用命令构建镜像:
[root@localhost project]# ls Dockerfile onlineExam-0.0.1-SNAPSHOT.jar [root@localhost project]# docker build -t onlineexam . Sending build context to Docker daemon 16.55MB Step 1/5 : FROM java:8 8: Pulling from library/java 5040bd298390: Pull complete fce5728aad85: Pull complete 76610ec20bf5: Pull complete 60170fec2151: Pull complete e98f73de8f0d: Pull complete 11f7af24ed9c: Pull complete 49e2d6393f32: Pull complete bb9cdec9c7f3: Pull complete Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d Status: Downloaded newer image for java:8 ---> d23bdf5b1b1b Step 2/5 : COPY *.jar /app.jar ---> 63fda5bdcb6d Step 3/5 : CMD ["--server.port=8888"] ---> Running in 5e94d333492d Removing intermediate container 5e94d333492d ---> 59bd2f4e0120 Step 4/5 : EXPOSE 8888 ---> Running in 99c4427313de Removing intermediate container 99c4427313de ---> d4792bf4f884 Step 5/5 : ENTRYPOINT ["java","-jar","/app.jar"] ---> Running in da3be5f92a55 Removing intermediate container da3be5f92a55 ---> 2df101d6382c Successfully built a42985afa2f3 Successfully tagged onlineexam:latest
然后可以使用docker images 展示刚刚构建好的镜像
[root@localhost project]# docker run -d -p 8888:8888 onlineexam -d参数是让容器后台运行 -p 是做端口映射,此时将服务器中的8888端口映射到容器中的8888(项目中端口配置的是8888)端口
然后使用docker ps查看一下:
ok,到此启动成功了!
由于我此此的springboot项目使用了redis。你们可以选择使用docker安装,还可以参考一下我的这个centos 7安装redis
因为我springboot使用了swagger(现在是knife4j),所以我在浏览器测试是否可以打开:
ok,测试一下功能都ok了。
到此就结束了。



