🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一、概述 制作一个docker,安装好了jdk、数据库、redis等,供开发的时候,快速使用; ## 二、基于基础镜像运行容器 选择一个比较好的镜像作为基础; ``` docker pull centos ``` ![](https://img.kancloud.cn/3e/6e/3e6e7c168980edd155c77e5383a37c0b_1051x177.png) 然后,启动该镜像容器,进入安装其他软件: ``` docker run -it -p 8080:8080 -v /usr/lib/app:/ray/usr/lib/app centos:latest /bin/bash ``` ![](https://img.kancloud.cn/72/dc/72dc75d63519093cff951a999b2c3379_1050x112.png) ## 三、容器内安装配置 ### **初始化容器环境** 如果镜像内没有打包ps命令,则需要手动安装; ``` apt-get update && apt-get install procps ``` 镜像内没有打包wget,则需要手动安装wget; ``` yum install wget ``` ![](https://img.kancloud.cn/d4/f6/d4f6c656fc80eb8249741b65f76e4fd2_1055x558.png) ### **安装开发环境** 安装JDK; ![](https://img.kancloud.cn/43/4d/434d5cf0951bf00d017a384ae2602f8e_1047x233.png) 安装,设置环境变量等; ![](https://img.kancloud.cn/56/2a/562ae72332a5bfc0712f18fa0cb6bfee_1053x81.png) 安装tomcat: ![](https://img.kancloud.cn/0b/53/0b53291a172b119a8680c260eccc4ed9_1046x214.png) ### **测试开发环境** 启动tomcat,由于做了端口映射,直接访问主机IP:映射端口,即可; ``` http://106.12.109.149:8080 ``` ![](https://img.kancloud.cn/2a/2e/2a2ec346cfbc3dcc40b7f1e4128f842b_1366x736.png) ## 四、运行容器转为镜像 容器内,环境配置完成之后,就需要把该容器转为镜像,分发共享了; 先在宿主机器上运行命令,获取当前容器的Id,入:37b328d2e57e ``` docker ps ``` ![](https://img.kancloud.cn/ce/03/ce032acfd341402e45f2a4c5204d8c51_1056x93.png) 然后,在宿主机器上运行命令; ``` docker commit -m "centos with raydev" -a "rayframework" 37b328d2e57e rayframework/centoswithraydev:v1 ``` ![](https://img.kancloud.cn/f4/6d/f46d485eea23eaa016a03fdf930da795_1052x150.png) ## 五、镜像推送到官方仓库 ``` docker push rayframework/centoswithraydev:v1 ``` ![](https://img.kancloud.cn/b7/4d/b74dd228ee04afd13cb6c0495b8a674f_1048x105.png) ![](https://img.kancloud.cn/d3/1d/d31db9a8e1239f4ed7b5cc3720bae8ca_1355x604.png) 后续需要继续更新这个镜像的话,要改个标签即可; ``` docker push rayframework/centoswithraydev:tagname ``` ![](https://img.kancloud.cn/b0/09/b009fb26c885618d738652982e91c65c_1366x657.png) ## 六、使用定制的镜像 切换一个宿主,安装docker引擎等,来使用这个镜像; 启动docker引擎,无须登录DockerHub: ``` docker pull rayframework/centoswithraydev:v1 ``` 然后启动该容器; ``` docker run -it -p 8080:8080 -v /usr/lib/app:/ray/usr/lib/app rayframework/centoswithraydev:v1 /bin/bash ``` ![](https://img.kancloud.cn/50/d6/50d65a45a9b0433de747fc3b6aa74070_1051x79.png) 原镜像中,安装了jdk、tomcat; ![](https://img.kancloud.cn/47/7f/477f8654c59b1f33044d96567965099f_1055x307.png) 监听8080端口,启动然后访问一下容器中的tomcat看看; ![](https://img.kancloud.cn/20/57/2057b014233c7a05159ea85db3cc0c3d_1366x736.png) 跟当时制作容器的时候,tomcat内容一致; ## 七、完成 到这里,就是一个非常完整的实战案例,初步展示了如何使用docker来提升开发环境搭建的便利性;