导航:首页 > 配服务器 > 阿里云服务器怎么部署docker

阿里云服务器怎么部署docker

发布时间:2022-11-15 20:50:09

A. 一文教您如何通过 Docker 快速搭建各种测试环境

目录

一、镜像加速

Docker 默认是从官方镜像地址 Docker Hub 下下载镜像,由于服务器在国外的缘故,导致经常下载速度非常慢。为了提升镜像的下载速度,我们可以手动配置国内镜像加速器,让下载速度飚起来。

国内的镜像加速器选项较多,如:阿里云,DaoCloud 等。

本文主要说说如何配置阿里云的镜像加速器。

2.1 登录阿里云获取加速信息

https://dev.aliyun.com/

2.2 配置 Docker

2.2.1 确定 Docker Client 版本

在配置之前,首先需要 确定 Docker Client 的版本,推荐是 1.10.0+ :

2.2.2 配置镜像加速器

PS: 这里以 CentOS 系统为例,如果你是别的系统,可以参考阿里云配置加速器官方文档。

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

执行下面命令

2.3 验证一下速度

以下载 mongodb 为例,看下速度:

配置了加速器过后,速度终于飚起来了。

二、快速安装&搭建 Mysql 环境

本节中,我们将学习如何通过 Docker 快速安装与搭建 Mysql 环境。

2.1 下载 Mysql 镜像

这里以 Mysql 5.7 为例:

下载完成后,通过 docker images 检查一下镜像是否下载成功:

2.2 先以最简单方式启动

先以简单的方式启动:

命令执行完成后,你也可以通过 docker ps 命令来确认下容器是否启动成功。若成功,我们需要将容器中的目录文件复制到宿主机中,分别包括:

完成这一切后,让我们将刚刚运行的容器删除掉。

PS: mysql 是我们运行容器时,指定的名称,当然,你也可以先执行 docker ps , 通过容器 ID 来删除。

2.3 正式运行 Mysql 容器

接下来,正式运行 Mysql 容器:

其他不变,额外添加了两个挂载子命令:

执行命令完成后,查看下容器是否启动:

可以看到,容器运行成功

2.4 通过 Mysql 客户端连接一下试试

通过 MySQL 客户端连接刚刚创建的 mysql, 看看能否连接成功:

连接成功了!

三、快速安装&搭建 Redis 环境

本节中,我们将学习如何利用 Docker 安装&搭建 Redis 环境。

3.1 下载 Redis 镜像

首先拉取 Redis 镜像, 这里我选择的是 redis:alpine 轻量级镜像版本:

下载完成后,通过 docker images 确认镜像是否已经下载到本地:

3.2 运行 Redis 容器

命令说明:

命令运行完成后,查看容器是否启动成功:

可以看到 redis 容器已经启动成功了!

3.3 连接刚刚创建好的容器

执行如下命令,连接 redis:

四、快速安装&搭建 MongDB 环境

本节中,我们将学习如何通过 Docker 快速安装与搭建 MongoDB 环境。

4.1 下载 MongoDB 镜像

这里以 mongo 4 版本为例,下载镜像:

下载完成后,确认一下镜像是否下载成功:

4.2 运行 MongoDB 镜像

下载成功后,运行 mongoDB 镜像:

执行命令完成后,查看下容器是否启动:

4.3 添加管理员账号

执行命令:

然后,创建一个拥有最高权限 root 账号:

创建成功后,你会看到 Successfully added user :

4.4 用新创建的 root 账户连接,测试一下

连接成功后,我们可以执行相关 sql:

显示所有的数据库:

使用某个数据库:

输入命令 exit ,退出连接!

五、快速安装&搭建 Elasticsearch 环境

本节中,我们将学习如何通过 Docker 快速安装与搭建 Elasticsearch 环境。

5.1 下载 Elasticsearch 镜像

这里以 Elasticsearch 6.5.0 为快速安装&搭建 Elasticsearch 环境例:

下载完成后,通过 docker images 检查一下镜像是否下载成功:

5.2 先简单运行 Elasticsearch 镜像

下载成功后,简单运行 Elasticsearch 镜像:

命令执行完成后,你也可以通过 docker ps 命令来确认下容器是否启动成功。

可以看到 es 容器运行成功了,接下来,进入容器中:

安装 analysis-ik 中文分词插件:

PS: es 从 v5.5.1 版本开始支持自带的 es 插件命令来安装,如果你安装的版本不是 6.5.0,需要将命令中的版本号修改一下,具体参考 https://github.com/medcl/elasticsearch-analysis-ik

安装成功后,退出容器:

删除刚刚运行的容器:

PS: 当然了,你也可以通过容器的 ID 来删除。

5.3 复制相关文件

5.4 修改 es 相关配置

进入我们刚刚指定的 config 配置目录,修改 jvm.options 文件:

PS: 因为小哈测试服务器就 2G 内存,这里我改成了 JVM 内存占用 300m, 如果你的内存够用,可不用改。

修改 elasticsearch.yml 文件, 添加如下配置:

解释一下添加的配置,设置节点为 master 节点,并允许跨域访问,以便后面使用 head 插件图形化界面访问。

5.5 运行 Elasticsearch 容器

这次,我们额外添加了相关挂载命令:

5.6 测试一下,瞅瞅 es 是否能够正常访问

测试一下,看 es 是否启动成功:

OK, 到此 es 的单节点环境就搭建好了!

欢迎工作一到五年的Java工程师朋友们加入Java程序员开发: 721575865

群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

B. 如何使用 Docker 部署容器

设想,为了推出一个网站,您不必从裸机安装一个完整的服务器。 而不是安装操作系统,然后安装服务器软件,然后部署精心设计的应用程序或站点,您可以简单地在一个独立的包中开发所有内容,并使用单个命令将其推出。

这是使用容器的众多好处之一。它们使开发和部署周期变得异常高效。但是你如何部署这些容器?我想在这里指导你完成这个过程。我们将专注于在Ubuntu Server 18.04上部署基本的NGINX Web服务器作为容器。所有这一切都将在Docker的帮助下完成。

为了成功将NGINX部署为容器,您需要具备以下条件:

- 一个安装了Docker的Ubuntu Server 18.04的运行实例。

- 一个docker 用户组的成员用户

是的,有了这两部分,你就准备好了。

您部署的每个容器都将基于从DockerHub中提取的镜像。 您可以下拉单个镜像并根据需要随时使用。 DockerHub上还有许多镜像用于单个应用程序或平台。 以NGINX为例。 如果你在DockerHub上搜索NGINX,你会得到大约56,172个条目。 这并不意味着每个条目都是您可以使用的可用图像。

图像命名如下:

例如,对于NGINX,您可能会找到一个名字为的镜像:

或许你可能找到:

您也看到了,有几乎所有需要的镜像。

在使用图像之前,必须将其保存在本地驱动器上。 有两种方法可以做到这一点:

- 直接使用pull命令

- 间接地,在容器部署过程中。

要从DockerHub中拉取图像,您将打开一个终端窗口并发出命令:

如果你想拉取Ingress图像,该命令是:

当你拉取你需要的图像之后,你可以使用命令确认是否存在:

上面的命令将列出你拉取的所有镜像(图A)。

拉取随意图像时要谨慎。 为什么? 因为你永远不知道创造它们的原因。 容器可能包含恶意代码,可能会对您的网络或数据造成严重破坏。 因此,最好只使用官方图像(例如NGINX图像)。

现在该部署容器了, 如果您尚未拉取镜像,则在部署阶段将下拉所需要的镜像。 由于我们拉取官方NGINX图像,我们将使用它。

要部署容器,请使用docker命令,如下所示:

备注:

- NAME等于您要为容器提供的名称(这可以是任何内容,例如nginx-webserver)。

- PORTS您要使用的端口(以NETWORK PORT:CONTAINER PORT形式)。

- IMAGE用于容器的图像(例如nginx)。

因此,部署NGINX容器的基本命令是:

容器将要部署,NGINX Web服务器将在端口80上可用于本地网络。但是,如果已在服务器上使用端口80来部署容器,该怎么办? 您可以将其部署在网络端口8080上,如下所示:

此时,您可能会看到下一个问题。 运行上述命令之一后,不返回bash提示符(图B)。

你如何运行一个容器,并获得你的bash提示? 为此,您必须以分离模式运行容器。 在此之前,您必须使用键盘组合[Ctrl] +终止当前容器。 该组合将返回提示并杀死容器。

要确定容器是否运行,使用命令:

将列出所有容器及其状态(图C)。

如果容器仍在运行,我们必须在同一端口部署另一个容器之前将其终止(否则端口会发生冲突,从而阻止容器部署)。 要杀死正在运行的容器,首先需要Container ID(随机字符串)。 发出docker ps -a命令时会显示此字符串。 要终止正在运行的容器,使用命令:

其中CONTAINER_ID是相关容器的ID。

然后,您可以使用以下命令删除容器:

其中CONTAINER_ID是相关容器的ID。

请注意,您不必输入完整的Container ID,字符串的前四个字符就足够了。

现在,要以分离模式部署容器,命令是:

这次你不仅会得到你的提示,而且Docker会为你显示容器ID(图D)。

如果你想在正在运行的容器上工作怎么办? 假设您想对NGINX进行更改甚至开始开发它将显示的网站? 因此,您必须访问容器。 因此,您需要Container ID。 使用ID,发出命令:

其中CONTAINER_ID是容器的ID。

您现在应该处于运行容器提示符(图E)中,您可以在其中开始处理NGINX服务器。

要退出容器,只需键入命令exit。

七、比你想象的容易

希望到现在为止,您看到容器部署并不像您想象的那样具有挑战性。 在Docker的帮助下,您可以在几分钟内推出专业版的应用和服务。

原文链接:

C. 怎样在阿里云上安装docker

怎样在阿里云上安装docker
更多1
linux
因为debian 7安装docker的手续比较麻烦,所以我把阿里云的系统换成了ubuntu 14.04,然后参考:https://docs.docker.com/installation/ubuntulinux/
还算比较方便:apt-get update && apt-get install docker.io,然后再改两个配置就完事了。
不过,在你运行docker run -i -t ubuntu /bin/bash的时候,会报错,说是docker -d好象没有运行,这不科学 啊,刚刚不是装好的吗?
于是ps aux|grep docker,果然没有进程,于是直接输入:docker -d,然后就发现报错了:
2014/08/18 12:05:42 Could not find a free IP address range for interface 'docker0'. Please configure its address manually and run 'docker -b docker0'

老规矩,内事不决问度娘,外事不决问谷歌,结果居然看到有人回复 :

当时这个心就碎了,心想这不科学啊,于是再google,就真的发现了:

OK,那就试试吧:
sudo brctl addbr docker0 # create your bridge
sudo brctl addif docker0 eth0 # mask an existing interface using the bridge
sudo ip link set dev docker0 up # bring it up - not really sure if this is necessary or is it done automatically
sudo ifconfig docker0 10.0.0.4 # give it an IP

当然要运行brctl还是要装一个bridge-utils工具的,当然这个ubuntu会提醒你,一步步的做完后,docker 果然可以启动了。这时候再运行一下,service docker.io start,然后ps aux|grep docker,进程还活着。
于是输入:
docker run -i -t ubuntu /bin/bash
Unable to find image 'ubuntu' locally
Pulling repository ubuntu
2014/08/18 12:16:44 Get https://index.docker.io/v1/repositories/ubuntu/images: dial tcp: lookup index.docker.io on 10.143.22.118:53: no answer from server

咦。不能上网。其实就是上面的代码的问题,因为默认aliyun的eth0是内网IP,所以上述的
sudo brctl addif docker0 eth0 # mask an existing interface using the bridge
这里应该用eth1
重新执行一下。然后再次运行:
docker run -i -t ubuntu /bin/bash
Unable to find image 'ubuntu' locally
Pulling repository ubuntu
c5881f11ded9: Download complete
。。。。。。。

整个就完成了

D. 如何在阿里云主机上安装docker

你好,
如果你是centos7的话,Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行下面的 yum 命令:

[root@localhost ~]# yum install docker

E. RabbitMQ 进阶- 阿里云服务器部署RabbitMQ集群

如果RabbitMQ集群只有一个broker节点,那么该节点的失效将导致整个服务临时性的不可用,并且可能会导致message的丢失(尤其是在非持久化message存储于非持久化queue中的时候)。可以将所有message都设置为持久化,并且使用持久化的queue,但是这样仍然无法避免由于缓存导致的问题:因为message在发送之后和被写入磁盘并执行fsync之间存在一个虽然短暂但是会产生问题的时间窗。通过publisher的confirm机制能够确保客户端知道哪些message已经存入磁盘,尽管如此,一般不希望遇到因单点故障导致服务不可用。

如果RabbitMQ集群是由多个broker节点构成的,那么从服务的整体可用性上来讲,该集群对于单点失效是有弹性的,但是同时也需要注意:尽管exchange和binding能够在单点失效问题上幸免于难,但是queue和其上持有的message却不行,这是因为queue及其内容仅仅存储于单个节点之上,所以一个节点的失效表现为其对应的queue不可用。

为了提高程序的吞吐量,保持消息的可靠性,一台机器挂了后,RabbitMQ能够正常生产,消费消息。

rabbitmq有三种模式:单机模式,普通集群模式,镜像集群模式

Demo级别的,一般只是本机测试玩玩而已,生产环境下不会用的。

在多台机器上启动多个rabbitmq实例,每个机器启动一个。
但是你创建的queue,只会放在一个rabbtimq实例上,但是每个实例都同步queue的元数据(存放含queue数据的真正实例位置)。消费的时候,实际上如果连接到了另外一个实例,那么那个实例会从queue所在实例上拉取数据过来。

示意图

这种方式确实很麻烦,也不怎么好,没做到所谓的分布式,就是个普通集群。
普通集群的方式,确实达到了消息的高可用,但没办法保证可靠性,没做到分布式,简而言之,只是一个普通的集群。

这种模式,才是所谓的rabbitmq的高可用模式,跟普通集群模式不一样的是,你创建的queue,无论元数据还是queue里的消息都会存在于多个实例上,然后每次你写消息到queue的时候,都会自动把消息到多个实例的queue里进行消息同步。

上图中每个节点有一个queue,生产者生产完毕数据后投递到指定交换机的队列,交换机的队列进行消息同步。

每个节点queue都有一个完整的rabbitmq节点,所以这种方式叫做镜像集群

好处: 任何一个节点宕机后,其它节点不受影响,正常使用

坏处:

确保机器中安装了Docker,若未安装,可看:【云原生】Docker入门 – 阿里云服务器Linux环境下安装Docker

查看拉取的镜像

成功运行

设置节点1

浏览器输入 您的ip地址:15673

再次测试即可成功~

File —> New —> Project —> Maven —> 直接Next 进入下一步创建普通的Maven工程即可

创建一个默认的Maven聚合工程,将src文件夹删除,该工程就是一个Maven聚合工程

引入依赖如下:

在项目内,新建一个Moudle,rabbitmq-order-procer 默认Maven工程,下一步即可

在项目内,新建一个Moudle,rabbitmq-order-cousumer 默认Maven工程,下一步即可

Maven聚合工程创建完成图

Maven依赖图

自行手写MainApplication即可

创建完成!

编写完成!

启动消费者

交换机

=

15674

15675

成功消费数据!

已成功同步消息~

F. 10. Docker 安装与配置

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

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

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

参考: https://www.cnblogs.com/codingbit/p/install-docker-in-ubuntu.html

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 用户组并添加你的用户

https://hub.docker.com/
什么是 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

排错,困难

https://hub.docker.com/r/appium/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 ;

G. 【实验1】docker部署vue简略过程

大家好,我是实验小张,简略记录一下自己做的一点儿docker基础处理过程。

1 - linux或者windows下安装nodejs环境

2 - 创建vue项目

    npm install vue-cli -g // 全局安装vue脚手架

    vue list // 查看脚手架安装工具

    vue init webpack <项目名称> // 创建vue项目,以此可以开发vue

    npm install // 安装依赖包

    npm run dev // 调试运行,vue-cli-service serve

    npm run build // 调用package.json里面的scripts对应的脚手架命令

    输出dist

3 - 根据dist和Dockerfile文件制作镜像

    #使用 nginx最新版本作为基础镜像,dist静态web文件塞入nginx后,通过访问nginx就可以访问到我们的vue

    FROM nginx

    #将当前文件夹的dist文件复制到容器的/usr/share/nginx/html目录

    COPY./dist/usr/share/nginx/html/#声明运行时容器暴露的端口(容器提供的服务端口)

    EXPOSE 80

    #CMD:指定容器启动时要运行的命令,后台运行nginx

    CMD ["nginx","-g","daemon off;"]

    以上作为Dockerfile脚本,运行 docker build -t <镜像名称>:<版本号x.x> . , 生成镜像images_test:x.x

4 - 第3步中的镜像在本地,本地运行可执行 docker run -t -p out_port:docker_port images_test:x.x

    如果需要再任何服务器上的docker环境下运行此镜像,则需要上传至镜像仓库,我选择的是阿里云免费个人版容器服务

    $ docker login --username=n**** registry.cn-hangzhou.aliyuncs.com

    $ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[镜像版本号]

    $ docker push registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[镜像版本号]

    然后可以拉取镜像,docker pull registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[镜像版本号]

5 - 上面的事情处理完毕之后,就可以部署到服务器上了,最后一步,运行自制的vue镜像

    docker run -d -p 8080:80 image_test:<version no.> 

6 - 也可以通过docker-compose up -d来运行yml文件来运行镜像,还可以通过volumes参数来挂载数据卷

先大略说这么多,docker是一个比较好用的工具,提高开发效率和降低运维成本,easy~

    

H. 阿里云 上的docker 怎么用

包括三部分:
从Docker Hub或者其他镜像源安装Docker镜像
从Image file安装Docker镜像
从Docker file制作Docker镜像

查找Docker镜像

安装Docker镜像的第一步,是查找你需要的Docker镜像列表,键入:
docker search mysql

如果出现权限问题,请在最前面加入sudo:
sudo docker search mysql

查询返回一个列表:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relati... 2981 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Crea... 194 [OK]
centurylink/mysql Image containing mysql. Optimized to be li... 46 [OK]
sameersbn/mysql 36 [OK]
jdeathe/centos-ssh-mysql CentOS-6 6.8 x86_64 / MySQL. 8 [OK]
appcontainers/mysql Centos/Debian Based Customizable MySQL Con... 8 [OK]
marvambass/mysql MySQL Server based on Ubuntu 14.04 6 [OK]
drupaldocker/mysql MySQL for Drupal 2 [OK]
azukiapp/mysql Docker image to run MySQL by Azuki - http:... 2 [OK]
yfix/mysql Yfix docker built mysql 2 [OK]
alterway/mysql Docker Mysql 2 [OK]
frodenas/mysql A Docker Image for MySQL 2 [OK]
andreluiznsilva/mysql A extension of the offical MySQL container... 1 [OK]
phpmentors/mysql MySQL server image 1 [OK]
sin30/mysql MySQL images with my own config files. 1 [OK]
tozd/mysql MySQL (MariaDB fork) Docker image. 0 [OK]
nanobox/mysql MySQL service for nanobox.io 0 [OK]
...

列表包含了所有的MySQL镜像,其中:
NAME字段是镜像的名字
DESCRIPTION字段是对镜像的简单描述
STARS数量反映了用户的喜爱程度
OFFICIAL字段如果是OK,代表了这个镜像是官方提供的,可以信任
AUTOMATED字段如果是OK,代表了这个镜像是基于公开的脚本制作的,可以信任
如果OFFICIAL和AUTOMATED都不为OK,那使用的时候需要额外小心了,这类镜像中可能包含恶意软件,不过对于个人非敏感数据还是可以使用的。

此外,你也可以通过访问https://hub.docker.com/,通过Web来搜索你需要的镜像。
下载Docker镜像

当你找到合适的镜像后,可以通过:
docker pull [REGISTRYHOST/][USERNAME/]NAME[:TAG]

来进行下载,方括号中的是可选项:
docker pull mysql

导出Docker镜像

你可以将本地镜像导出为文件,如我们刚才下载的MySQL镜像:
docker save -o mysql.tar mysql

将我们的MySQL镜像导出为mysql.tar.
导入Docker镜像

有导出就有导入,导入的命令是:
docker load -i mysql.tar

将我们的MySQL镜像导入。
删除Docker镜像

为了节约磁盘空间,有时候我们需要删除不需要的Docker镜像文件,首先查看我们拥有的Docker镜像文件:
docker images

然后删除不需要的镜像,释放磁盘空间:
docker rmi [REGISTRYHOST/][USERNAME/]NAME[:TAG]

通过Docker File编译Docker镜像

制作Docker File我们放在后面再讲,假设你有一个名为Dockerfile的文件,编译制作Docker的命令是:
docker build -f Dockerfile .

成功后将在当前路径下制作出一个Docker镜像文件。
Summary

我们简单的介绍了Docker镜像的使用方法。通过此实战,你应该对Docker镜像有了更深入的体会。
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索docker , 镜像 , docker使用镜像 , 删除镜像 查找镜像 docker 删除镜像、docker 镜像、docker 国内镜像仓库、docker hub 国内镜像、docker 镜像仓库,以便于您获取更多的相关知识。

I. 阿里云搭建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:邮箱地址

页面访问:
页面访问: http://xx.96.194.xxx:7001/

页面访问Spring Boot项目

参考:Docker 私有镜像仓库的搭建及认证
参考:Spring Boot 多样化构建 Docker 镜像
参考:registry-web集成安全认证

阅读全文

与阿里云服务器怎么部署docker相关的资料

热点内容
pso算法优化参数 浏览:606
java打开pdf文件怎么打开 浏览:369
用银行家算法拒绝死锁的例题 浏览:670
洗盘选股指标源码 浏览:705
百度云盘下载的压缩包怎么解压 浏览:737
加密类型是TKIP被我弄掉了 浏览:234
贝刻智能手环app如何下载 浏览:838
公司电脑上的加密文件解密 浏览:462
服务器怎么配置数据库 浏览:889
压缩机和制冷剂 浏览:182
树莓派手机版编程 浏览:926
谷歌编程挑战赛时间安排 浏览:438
自动学习机源码 浏览:938
明日之后星曳镇是什么服务器 浏览:474
编程学有年龄限制吗 浏览:571
工程可靠度pdf 浏览:900
包子解压玩具会爆吗 浏览:143
资治通鉴柏杨版pdf 浏览:852
跆拳道pdf 浏览:205
程序员毕设可以攻哪个方向 浏览:427