docker配置阿里云(阿里云安装dockercompose)

admin 143 2023-04-05

阿里云服务器优惠多,折扣错,惊喜多,请咨询:www.wqiis.com

本文目录一览:

10. Docker 安装与配置

Docker 是一个开源的应用容器引擎,基于LXC(Linux Container)内核虚拟化技术实现,提供一系列更强的功能,比如镜像、 Dockerfile等;Docker理念是将应用及依赖包打包到一个可移植的容器中,可发布到任意Linux发行版Docker引擎上。使用沙箱机制运行程序, 程序之间相互隔离;

容器是在linux上本机运行,并与其他容器共享主机的内核,它运行的一个独立的进程,不占用其他任何可执行文件的内存,非常轻量、高效、快速。

虚拟机运行的是一个完成的操作系统,通过虚拟机管理程序对主机资源进行虚拟访问,相比之下需要的资源更多。

参考:

Linux版本CentOS7

使用加速器可以提升获取Docker官方镜像的速度,下面使用 阿里云镜像 进行加速。

通过修改daemon配置文件 /etc/docker/daemon.json 来使用加速器

Docker 守护进程绑定在 Unix socket 而不是 TCP 端口。默认情况下 Unix socket 归属于 root 用户,其他用户只能通过 sudo 命令访问。所以 Docker 守护进程总是以 root 用户来运行。

如果你不希望每次运行 docker 命令时在前面加上 sudo,你可以创建一个 docker 用户组并把用户加进去。当 Docker 守护进程启动时,会创建一个 Unix socket 供 docker 用户组成员访问

创建 docker 用户组并添加你的用户

什么是 DockerHub 以及为什么它很重要?DockerHub 是一个由 Docker 公司运行和管理的基于云的存储库。它是一个在线存储库,Docker 镜像可以由其他用户发布和使用。

有两种库:公共存储库和私有存储库 。如果你是一家公司,你可以在你自己的组织内拥有一个私有存储库,而公共镜像可以被任何人使用。

镜像层和容器层

Docker 服务端是Docker 所有后台服务的统称 。其中dockerd 是一个非常重要的后台管理进程,它负责响应和处理来自Docker 客户端的请求,然后将客户端的请求转化为Docker 的具体操作。

例如:镜像、容器、网络和挂载卷等具体对象的操作和管理。

Docker 从诞生到现在,服务端经历了多次架构重构。起初,服务端的组件是全部集成在docker 二进制里。但是从 1.11 版本开始, dockerd 已经成了独立的二进制,此时的容器也不是直接由dockerd 来启动了,而是集成了containerd、runC 等多个组件。

虽然 Docker 的架构在不停重构,但是各个模块的基本功能和定位并没有变化。它和一般的 C/S 架构系统一样,Docker 服务端模块负责和 Docker 客户端交互,并管理Docker 的容器、镜像、网络等资源。

Docker 有两个至关重要的组件: runC和containerd。

runC 是Docker 官方按照OCI 容器运行时标准的一个实现。通俗地讲,runC 是一个用来运行容器的轻量级工具,是真正用来运行容器的。

containerd 是Docker 服务端的一个核心组件,它是从dockerd 中剥离出来的 ,它的诞生完全遵循OCI 标准,是容器标准化后的产物。containerd通过containerd-shim 启动并管理runC,可以说containerd真正管理了容器的生命周期。

1. 容器中长期运行 程序

有两种方式:

2. 容器 开启和停止 程序

有两种方式

3. 进入容器

有2种方法

想要web部署在互联网上 或者 在Web上访问 应用;

个人电脑处于 私网 中; IP地址处于 IPV4 和 IPV6 ;

安装appium

排错,困难

测试adb

改变TCPIP连接方式

查看appium运行日志

容器端口号为 4723

开启nginx,就可以在web访问 192.168.0.100;

Dockerfile其实可以看做一个命令集 。每行均为一条命令。每行的第一个单词,就是命令command。后面的字符串是该命令所要接收的参数。比如ENTRYPOINT /bin/bash。ENTRYPOINT命令的作用就是将后面的参数设置为镜像的entrypoint。至于现有命令的含义,这里不再详述。DockOne上有很多的介绍。

FROM 指令用于指定其后构建新镜像所使用的基础镜像。FROM 指令必是 Dockerfile 文件中的首条命令,启动构建流程后,Docker 将会基于该镜像构建新镜像,FROM 后的命令也会基于这个基础镜像。

在镜像的构建过程中执行特定的命令,并生成一个中间镜像。格式:

最多127层,不是写shell ;

配置Aliyun镜像加速服务

1、登录aliyun搜索“容器镜像服务”,找到镜像加速器

2、依次执行命令:

    创建目录:sudo mkdir -p /etc/docker

    指定加速地址:

sudo tee /etc/docker/daemon.json -'EOF'

{

  "registry-mirrors": [""]

}

EOF

    重启伴随线程:sudo systemctl daemon-reload

    重启Docker:sudo systemctl restart docker

配置 docker 加速服务

推荐安装 1.10.0 以上版本的 Docker 客户端,参考文档 docker-ce

直接登录 阿里云 - 容器 Hub 服务控制台 后,点击“镜像加速器”标签,也会出现相应信息。

在出现的“容器镜像服务”页面,依次查找:镜像中心---》镜像加速器,并点击,可以得到一个专属的镜像加速地址,类似于“ ”。

根据页面中的“操作文档”信息,对应系统类型,配置自己的 Docker 镜像加速器。

例如:CentOS系统

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件 /etc/docker/daemon.json 来使用加速器

最后别忘记重新启动 docker:

国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:

Docker 官方提供的中国镜像库:

七牛云加速器:

对于使用 systemd 的系统(Ubuntu 16.04+、Debian 8+、CentOS 7+),可以创建 /etc/docker/daemon.json 文件,并写入如下内容(如果文件不存在请新建该文件):

最后别忘记重新启动 docker:

阿里云服务器-docker部署 web 应用(端口号)

Docker部署WEB 应用时,本地可以成功打开测试页,在公网上(阿里云服务器)却不能打开。

1、环境:阿里云服务器

2、CentOS7系统

3、Docker成功部署

这里前提docker 已经成功部署啦,现有有一个简单的测试案例,在docker上部署一个应用从而访问web。

接下来让我们尝试使用 docker 构建一个 web 应用程序。

我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。

通过 -p 参数来设置一样的端口:

docker ps 查看正在运行的容器

容器内部的 5000 端口映射到我们本地主机的 5000 端口上。

这时我们可以通过浏览器访问WEB应用

访问失败

指定外网端口为5000,

1. 本地测试能否打开测试页

本地没有问题。

2. 浏览器中访问

在任意一台电脑上输入公网IP+端口号 (此端口号为运行WEB应用时指定的端口号5000) 如我的阿里云公网IP为123.11.11.11 此时在任意一台有网络的浏览器地址栏输入公网IP: 应该会出现测试页

但现在出现如下图所示:

显示打不开

查啦大量资料,以前曾经也解决过,一定弄明白自已购买的地区后,再去设置安全组的配置规则。

***1. 登录阿里云管理控制台****

2.找到云服务器ECS-概览

3. 点击云服务器ECS,这个是我购买的类型,其他类型的就不清楚啦。

4. 点击本安全组后,再次点击配置规则:

5. 手动添加端口5000

6. 最后保存,再从浏览器地址栏输入公网IP加端口号3344成功显示测试页如图:

阿里云搭建docker私有镜像仓库与SpringBoot项目推送远程镜像仓库

随着项目上容器技术的广泛应用,我也加入了Docker容器技术的学习。首先初学Docker,我的想法很简单。创建一个SpringBoot项目,如何将SpringBoot项目打包成容器镜像,然后推送至远程的Docker服务上部署。带着这个目的查阅了一些资料后,整体的实现思路如下:

环境描述:

准备一台阿里云服务器,已经完成Docker服务安装,后续将会在该服务器上进行搭建Docker私有镜像仓库。本地准备一个SpringBoot项目,至少编写一个Controller,保证本地SpringBoot项目启动后能够正常访问到Contriller。

由于私有镜像仓库是部署在阿里云上,要确保私有仓库的安全性,需要一个安全认证证书,防止发生意想不到的事情。所有需要在搭建私有仓库的Docker主机上先生成自签名证书。

生成自签名证书:

通过openssl命令先生成自签名证书,运行命令后需要填写一些证书信息。其中Common Name填写的xx.96.104.xxx是最关键的信息,这里填写的是私有仓库的地址:

Country Name:国家

State or Province Name:州或省

Locality Name:城市

Organization Name :机构名称

Organizational Unit Name :组织单位名称

Common Name:hostname域名

Email Address:邮箱地址

页面访问:

页面访问:

页面访问Spring Boot项目

参考:Docker 私有镜像仓库的搭建及认证

参考:Spring Boot 多样化构建 Docker 镜像

参考:registry-web集成安全认证

docker 部署镜像

以阿里云镜像示范:

一、手动部署:

1.mkdir ktc: 创建文件夹

2.把项目里的maven缓存 clean 清理掉

3.然后package 打成 jar包

4.然后登录阿里云,在产品与服务找到容器镜像服务

5.创建好命名空间,然后再创个公开的镜像仓库;

6.创建好之后 登录阿里云Docker Registry,创建好仓库有操作指南,后面的是公网地址,*要自己补全

7.输入密码是看不到的,显示Login Succeeded 就登录成功,然后就构建镜像 名字自己取

8.sudo其实可有可无,管理员权限,imageid是什么构建的镜像的id 后面版本号也是自己设置

9.然后就是提交了

上一篇:阿里版企业邮箱(阿里企业邮箱官方电话)
下一篇:网络网站推广优化(网络网站推广优化策略)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~