如何使用docker创建镜像

TIPS:本文只作个人记录,后续空闲时间会整理文章逻辑,更新内容。

1、docker的运行过程

到仓库下载拉取对应的image,启动一个容器,类似镜像的一个实例,项目代码运行在容器中。

使用docker服务,首先启动docker服务sudo service docker start

2、docker的基本命令

1)查看已经运行的容器:docker ps

2)登录容器,执行bash命令:docker exec -it container_name /bin/bash

3)显示本地的镜像:docker images

4)查看docker的网络桥接详情:docker network inspect bridge

5)迁移docker镜像:

docker save webapp:1.0 > webapp-1.0.tar
或者:
docker save -o ./webapp-1.0.tar webapp:1.0
6)导入镜像:
docker load < webapp-1.0.tar
或者:
docker load -i webapp-1.0.tar

7)提交已经修改的容器:docker commit -a "username" -m "add project_name env" 287e84d84ceb projectName-net-image:1.0

8)host 向 docker 容器内复制文件,(容器内文件放置的路径最后要加“/”):

docker cp file_name  container_id:/opt/workspace/

我的运行环境:

使用的基础镜像为:anthonymonori/android-ci-image

已有环境:pyton2.7,jdk1.8,nodejs,android sdk

启动命令:

gnome-terminal -t "bd3ea87f" -x bash -c "appium --command-timeout 1000 -p 4723 -U bd3ea87f;exec bash;"

TIPS:

1、向docker中写入数据需要注意:

按照 Docker 最佳实践的要求,容器不应该向其存储层内写入任何数据 ,容器存储层要保持无状态化。所有的文件写入操作,都应该使用数据卷(Volume)、或者绑定宿主目录,在这些位置的读写会跳过容器存储层,直接对宿主(或网络存储)发生读写,其性能和稳定性更高。数据卷的生存周期独立于容器,容器消亡,数据卷不会消亡。因此, 使用数据卷后,容器可以随意删除、重新 run ,数据却不会丢失。

2、Docker Registry 公开服务 是开放给用户使用、允许用户管理镜像的 Registry 服务。一般这类公开服务允许用户免费上传、下载公开的镜像,并可能提供收费服务供用户管理私有镜像。

最常使用的 Registry 公开服务是官方的 Docker Hub ,这也是默认的 Registry,并拥有大量的高质量的官方镜像,网址为:hub.docker.com/ 。在国内访问Docker Hub 可能会比较慢国内也有一些云服务商提供类似于 Docker Hub 的公开服务。比如 时速云镜像库网易云镜像服务DaoCloud 镜像市场阿里云镜像库等。

3、若遇到docker内无法发现手机设备,解决方法如下:

先关闭host的adb 服务,命令:adb kill-server

然后在容器内部启动adb 服务

 

 

本文参考以下文档:

https://juejin.im/post/5b260ec26fb9a00e8e4b031a

https://xysd.gitbooks.io/test-knowledge/devopsyu-chi-xu-jiao-fu/dockerrong-qi-ji-zhu/tong-guo-rong-qi-chuang-jian-xin-de-jing-xiang.html

https://hub.docker.com/r/anthonymonori/android-ci-image  相似镜像

https://hub.docker.com/r/appium/appium appium接入设备

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值