安装docker
官方原来的安装docker的脚本https://get.docker.com/
已经过时,现在使用的是https://get.docker.com/
,命令如下:
curl -s https://get.docker.com/ |sudo sh
安装成功后最后输出如下:
+ sh -c docker version
Client:
Version: 1.9.1
API version: 1.21
Go version: go1.4.2
Git commit: a34a1d5
Built: Fri Nov 20 13:20:08 UTC 2015
OS/Arch: linux/amd64
Server:
Version: 1.9.1
API version: 1.21
Go version: go1.4.2
Git commit: a34a1d5
Built: Fri Nov 20 13:20:08 UTC 2015
OS/Arch: linux/amd64
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker your-user
Remember that you will have to log out and back in for this to take effect!
依上面提示,如果非root用户来使用Docker的话,需要把用户名配置到docker群组里。配置完成之后,需要先注销再重新登录,才能生效。
未注销时:
~$ docker search Android
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
注销一下,再重新登录回来。
配置Android开发环境
搜了一下,上面还是有很多Android环境的docker的,如下:
haohang@haohang-desktop:~$ docker search Android
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
jacekmarchwicki/android This docker is to build Android Gradle pro... 36 [OK]
wasabeef/android Android Development Environment 19 [OK]
ahazem/android 15 [OK]
ksoichiro/android-emulator Android and emulator with gradle cache. 14 [OK]
aluedeke/appium-android Appium Server setup for automated android ... 10 [OK]
gfx2015/android Dockerfile for Android projects (Android S... 9 [OK]
dockerbase/android Docker Base: android - https://github.com/... 6 [OK]
ksoichiro/android Android SDK for development. 5 [OK]
bitriseio/docker-android android base 4 [OK]
beevelop/android Personal Android image – use at your own... 4 [OK]
wolfitem/android-studio android studio 国人支持中文 3 [OK]
manabugt/android Dockerfile for Android projects (Android S... 2 [OK]
jitpack/android Android SDK 1 [OK]
wernight/android Builds Android Gradle project with Java 7 1 [OK]
heikomaass/android-sdk Android SDK 1 [OK]
sloydev/android-env Building environment for Android applications 1 [OK]
moss/android android env 1 [OK]
vicamo/android-pdk 0 [OK]
mcfedr/android For building android apps in docker 0 [OK]
izumin5210/android Android development env 0 [OK]
alljoynsville/android android image 0 [OK]
beevelop/android-nodejs Android with Node.js 0 [OK]
uphyca/android Android development environment with Oracl... 0 [OK]
bssthu/android build Android Gradle project 0 [OK]
vkyii/android android base on alpine 0 [OK]
执行:
$ docker run jacekmarchwicki/android
Unable to find image 'jacekmarchwicki/android:latest' locally
latest: Pulling from jacekmarchwicki/android
当执行docker run xxx
的时候,docker
命令首先会在本地系统查找该镜像,如果没有找到,就到hub上找。
docker images
可以列出在本地系统上的镜像。
此篇搁置。
最新情况说明:
原来是想在服务器上搭docker版gitlab-ci的,现在改了。
改为在自己电脑上装gitlab-ci-multi-runner,然后注册到公司gitlab-ci上。也就是在本机上跑gitlab-ci-runner。
官方提供的脚本,通过添加源然后apt-get install
的安装方式没成功,最后是直接用官方提供的命令,使用wget
下载下来。
但是出现如下问题:
1,gitlab ci上显示pending
。
2,官方提供的命令是下载到/usr/local/bin
上,运行ci的时候报没有权限创建builds
文件夹。
3,注册多了一个runner,在gitlab-ci网页端先删掉了,但是本地的还在,用gitlab-ci-multi-runner unregister
反注册不了,也停止不了服务。
对于1,后来发现需要在本机上执行gitlab-ci-multi-runner run
,服务器上才会跑ci。
对于2 ,本来想在那个目录设置普通用户权限的,后改为把gitlab-ci-multi-runner文件移到个人的一个目录下。
对于3,修改~/.gitlab-runner/config.toml
,把无效的runner删掉就可以。