一、镜像加速
1)注册个帐号
https://dev.aliyun.com/search.html
阿里云会自动为用户分配一个镜像加速器的地址,登录后进入"管理中心"-->"加速器",里面有分配给你的镜像加速器的地址以及各个环境的使用说明。
镜像加速器地址:https://xxxxx.mirror.aliyuncs.com
2)在docker主机上执行如下命令
# 系统要求 CentOS 7 以上,Docker 1.9 以上。
sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service sudo sed -i "s|ExecStart=/usr/bin/docker-current daemon|ExecStart=/usr/bin/docker-current daemon --registry-mirror=https://xxxxx.mirror.aliyuncs.com|g" /etc/systemd/system/docker.service sudo systemctl daemon-reload sudo service docker restart
说明:这里要注意查看/etc/systemd/system/docker.service文件中docker的启动命令,我安装的是docker1.10版本,启动命令是/usr/bin/docker-current ,所以执行第二条sed命令时要使用docker-current。
3)下载镜像时正常pull即可,比如:docker pull centos,docker会使用阿里云镜像进行加速。
二、启用远程访问
参考资料:http://blog.csdn.net/wangtaoking1/article/details/44494847
1)增加远程访问配置
sudo vi /etc/sysconfig/docker-network
# /etc/sysconfig/docker-network DOCKER_NETWORK_OPTIONS="-H unix:///var/run/docker.sock -H 0.0.0.0:2375"
2)重启docker
sudo systemctl daemon-reload
sudo service docker restart
3)防火墙开放2375端口
4)说明:查看/etc/systemd/system/docker.service可以发现:
启动docker服务的命令为:
ExecStart=/usr/bin/docker-current daemon --registry-mirror=https://xxxx.mirror.aliyuncs.com \ --exec-opt native.cgroupdriver=systemd \ $OPTIONS \ $DOCKER_STORAGE_OPTIONS \ $DOCKER_NETWORK_OPTIONS \ $ADD_REGISTRY \ $BLOCK_REGISTRY \ $INSECURE_REGISTRY
后面跟的$参数都是配置在如下文件中的:
EnvironmentFile=-/etc/sysconfig/docker EnvironmentFile=-/etc/sysconfig/docker-storage EnvironmentFile=-/etc/sysconfig/docker-network
开启远程访问的参数一般为$DOCKER_NETWORK_OPTIONS,其配置在/etc/sysconfig/docker-network中,我们也可以自己增加一些参数,然后加到启动命令的后面。
5)使用说明:
开启远程访问后,可以在其它docker主机上对该机器进行远程访问,比如查看远程docker主机的镜像:
sudo docker -H 10.211.55.9:2375 images
参数说明:
-H 10.211.55.9:2375:远程docker主机的ip地址和端口
如果使用maven的话,也可以使用maven插件实现自动部署镜像的功能,比如使用Dockerfile自动构建:
com.spotify docker-maven-plugin 0.2.9 ${project.name}:${project.version} ${project.basedir}/src/main/docker false http://10.211.55.9:2375 ${project.build.directory} ${project.build.finalName}.jar
imageName:生成的镜像名称 dockerDirectory:Dockerfile工作目录 skipDockerBuild:不跳过构建,就是执行镜像构建 dockerHost:docker的主机地址 resource:拷贝到Dockerfile工作目录的资源,此处是将生成的jar文件拷贝过去,本例中此处生成的jar文件为config-1.0.0-SNAPSHOT.jar
FROM java:8 VOLUME /tmp RUN mkdir /app ADD config-1.0.0-SNAPSHOT.jar /app/app.jar ADD runboot.sh /app/ RUN bash -c 'touch /app/app.jar' WORKDIR /app RUN chmod a+x runboot.sh EXPOSE 8888 CMD /app/runboot.sh
java -Djava.security.egd=file:/dev/./urandom -jar /app/app.jar
-Djava.security.egd=file:/dev/./urandom:java随机数生成策略,采用非阻塞方式
mvn clean package docker:build -DskipTests
mvn clean package docker:build -DskipTests -X :打印debug信息