博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
http调用docker API创建容器
阅读量:5874 次
发布时间:2019-06-19

本文共 1996 字,大约阅读时间需要 6 分钟。

老样子Vue前端axios发起请求

至于为什么老是Vue,表示我前端只会用Vue。React牛逼,我用Vue。

config: {  Hostname: 'abc',  Domainname: "hehe",  Image: "nginx",  ExposedPorts: {    "80/tcp": {}  },  HostConfig: {    PortBindings: {      "80/tcp": [{
HostPort: "12100"}] } },}复制代码

这边我启动的容器是nginx,配置我都写死了(图省事),“80/tcp”加了引号,不加语法检测不过,加了不碍事因为最终还是会转化成json字符串。

  • Hostname启动的容器主机名
  • Domainname 域名,没搞懂用处(一开始我认为是容器别名,然而不是)
  • Image容器使用的镜像
  • ExposedPorts容器内部开放的端口
  • PortBindings容器内部端口与宿主机端口绑定

创建按钮事件

tianjia() {    axios.dockerApi.post('/containers/create',JSON.stringify(this.config))    .then( res => {        if(res.status==201) {          this.$message({            message: '容器创建成功!',            type: 'success'          })        }        console.log(res.data)      }    ) },复制代码

这边就是创建请求了,为了docker api的请求我特意新建了一个axios的实例。

// 用于请求docker的axios实例const dockerApi = new axios.create({  baseURL: '/api',  timeout: 60000,  headers: {
'Content-Type': 'application/json; charset=UTF-8'}}) 复制代码

headers的设置很重要,不然post的json发不过去。axios请求存在跨域,所以我简单设置了proxy前端代理'/api'。

前端ok,就可以发起请求了。

服务器那边docker怎么设置http请求这边不谈了,自行查找。 创建成功docker服务会返回给前端201的状态码。

服务器执行docker ps -a 就能看到刚才创建的容器了,只是此时的状态是created并没有真正启动,docker start [id]启动容器,再docker ps 就能看到启动中的容器了。

容器的名称还是随机的名称,没找到哪个参数是设置容器名的,有知道的可以告诉我一下。

最后值得注意的是不同的docker版本api存在差异,请认准你的docker版本。

最近完善了下容器的创建,附完整代码

复制代码

同时我也解决了给容器名命名的问题,仔细阅读官方文档发现要给容器命名必须使用url传参的方式,也就是我下面的代码:

axios.dockerApi.post('/containers/create?name='+this.form.Name,JSON.stringify(this.config))复制代码

转载于:https://juejin.im/post/5c46dd8af265da613d7c5e92

你可能感兴趣的文章
Android IOS WebRTC 音视频开发总结(四一)-- QQ和webrtc打洞能力pk
查看>>
Immediately register your GHD frizzy hair straightener concerning the GHD web page
查看>>
清除Xcode缓存
查看>>
Sharepoint2013:在页面上显示错误信息
查看>>
8-2测试总结
查看>>
SQLiteDatabase中query、insert、update、delete方法参数说明
查看>>
将军令
查看>>
多线程实现端口扫描
查看>>
java 类的应用
查看>>
koa cookie使用
查看>>
shutdown immediate ,无法关闭数据库的解决方案
查看>>
CentOS7系统上的GPSTK源码安装
查看>>
三种样式表
查看>>
Eclipse 常用快捷键(动画讲解)
查看>>
python pandas 数据处理
查看>>
[Learn AF3]第七章 App framework组件之Popup
查看>>
Java SE 第二十三讲----static关键字and final关键字
查看>>
微信小程序开发的游戏《拼图游戏》
查看>>
Hibernate-Criteria
查看>>
Java 8——接口中个的默认方法和静态方法
查看>>