`
hanqunfeng
  • 浏览: 1547347 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

docker学习笔记之六:使用阿里云镜像仓库加速以及启用远程访问

阅读更多

一、镜像加速

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自动构建:

<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>0.2.9</version>
    <configuration>
        <imageName>${project.name}:${project.version}</imageName>
        <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
        <skipDockerBuild>false</skipDockerBuild>
        <dockerHost>http://10.211.55.9:2375</dockerHost>
        <resources>
            <resource>
                <directory>${project.build.directory}</directory>
                <include>${project.build.finalName}.jar</include>
            </resource>
        </resources>
    </configuration>
</plugin>

 

 

说明:
imageName:生成的镜像名称
dockerDirectory:Dockerfile工作目录
skipDockerBuild:不跳过构建,就是执行镜像构建
dockerHost:docker的主机地址
resource:拷贝到Dockerfile工作目录的资源,此处是将生成的jar文件拷贝过去,本例中此处生成的jar文件为config-1.0.0-SNAPSHOT.jar
 
 
Dockerfile:
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
 
 
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信息
 

 

0
1
分享到:
评论

相关推荐

    Java开发环境Docker镜像:OpenJDK基础与阿里云Ubuntu源优化

    它包含了对阿里云Ubuntu镜像源的优化设置,旨在提升软件包管理和安装速度。适用人群:适合需要快速配置Java开发环境的开发人员,尤其是在中国地区,希望利用本地镜像源加速开发设置的用户。使用场景及目标:此镜像...

    Docker配置阿里云镜像加速pull的实现

    今天使用docker拉取镜像,那速度简直不能看,而且等着等着到最后还出现了 read tcp 192.168.31.60:55550-&gt;104.18.123.25:443: read: connection reset by peer 传输异常 然后看见网上说可以配置阿里云提供的镜像...

    docker学习笔记.md

    docker学习笔记,docker学习笔记,docker学习笔记,docker学习笔记,docker学习笔记,docker学习笔记,docker学习笔记,docker学习笔记,docker学习笔记,docker学习笔记,docker学习笔记,docker学习笔记,docker学习笔记,...

    mongo:4.2的docker镜像离线包

    部署mongo:4.2所需的docker镜像离线包

    yinheli/docker-thunder-xware:latest 镜像打包下载

    yinheli/docker-thunder-xware:latest 镜像打包下载 群晖 NAS DSM 系统,只要三步使用 Docker 安装迅雷远程下载

    狂神Docker学习笔记.pdf

    学习docker时看到的学习笔记

    docker学习笔记之八:Rancher使用方法

    NULL 博文链接:https://hanqunfeng.iteye.com/blog/2334695

    docker python3.8镜像包

    Docker 是一个开源的应用容器引擎,允许开发者打包应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 ...

    docker的mysql8镜像

    docker run -p 3306:3306 --name mysql8 -v /opt/apps/datasouce/docker/mysql8.0.23/logs:/var/log/mysql -v /opt/apps/datasouce/docker/mysql8.0.23/data:/var/lib/mysql -v /opt/apps/datasouce/docker/mysql...

    Docker学习笔记.zip

    Docker学习笔记压缩包

    如何给Docker配置官方国内加速镜像

    为了快速访问 Docker 官方镜像都会配置三方加速器,目前常用三方加速器有: 网易 、 USTC 、 DaoCloud 、 阿里云 。 现在 Docker 官方针对中国区推出了镜像加速服务。通过 Docker 官方镜像加速,国内用户能够以更快...

    docker镜像node:18.15-alpine

    node:18.15-alpine镜像的tar文件 使用步骤(确保本地环境已经安装docker) 1、将tar包下载到本地 2、打开终端 3、进入到上述tar包的下载路径 4、运行docker load node-18.15-alpine.tar

    docker学习笔记.pdf

    docker学习笔记,学习docker时做的学习笔记,有例子

    docker使用阿里云镜像仓库的方法

    本文介绍了docker使用阿里云镜像仓库的方法,分享给大家,具体如下: 1:阿里云docker仓库 https://dev.aliyun.com/search.html 2:进去注册帐号后,点击自己的管理中心。 3:在管理中心点击加速器,右边面板会有你...

    docker学习笔记.docx

    Docker_阿里云镜像加速器配置 Docker_帮助命令 Docker_镜像命令 Docker_容器命令 Docker_容器数据卷用V命令添加 Docker_容器数据卷用DockerFile添加 Docker_容器数据卷volumes-from DockerFile保留字指令 DockerFile...

    docker镜像openjdk8离线加载包

    在没有网络连接的环境下,用户无法直接从Docker Hub或其他镜像仓库在线拉取镜像,因此,便有了离线加载包的概念。离线加载包允许用户通过预先下载好的镜像文件进行安装和使用。 使用该离线加载包的命令是“docker ...

    mysql 8.4.2 docker镜像包

    由于Docker容器在被停止或者删除后,其内部的数据也会随之丢失,因此通常需要将数据存储在Docker容器外部,或者使用Docker的数据卷(volumes)功能来持久化数据。 此外,Docker镜像包的大小也是一个需要关注的问题...

    docker镜像nginx:latest离线加载包

    这个命令会将离线的nginx.tar文件中的镜像导入到本地Docker的镜像仓库中,之后便可以像在有网络连接的情况下一样使用nginx:latest镜像。 除了nginx:latest,Docker Hub上还提供了大量的官方和第三方镜像,覆盖了...

    Docker镜像源是存储Docker镜像的地方.docx

    阿里云Docker镜像服务:阿里云提供的Docker镜像服务,拥有众多官方镜像和丰富的用户镜像。针对国内用户,阿里云提供了加速服务,可以大幅度提高镜像下载速度。 网易云容器镜像服务:网易云提供的容器镜像服务,也...

    mysql8 docker 镜像

    MySQL8 Docker镜像是一种将MySQL数据库管理系统打包为可以在Docker容器中运行的形式。Docker是一个开源的应用容器引擎,可以将应用程序及其依赖打包到一个可移植的容器中,然后发布到任何支持Docker的平台上。MySQL...

Global site tag (gtag.js) - Google Analytics