Linux Docker 安装方法

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: ​ 一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口;

前言:


Linux Docker的安装方法,这里作为一个笔记进行归档总结。


0. Linux  简介:


Linux Standard Base的缩写,lsb_release命令用来显示LSB和特定版本的相关信息


命令格式如下:lsb_release -a


阿里云安装手册:help.aliyun.com/document_de…

常见问题:blog.csdn.net/daluguishou…


1. 什么是Dokcer


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


使用go语言编写,在LCX(linux容器)基础上进行的封装


简单介绍:


1)就是可以快速部署启动应用


2)实现虚拟化,完整资源隔离


3)一次编写,四处运行(有一定的限制,比如Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用)


为什么使用


开箱即用,快速部署,可移植性强,环境隔离


1、提供一次性的环境,假如需要安装Mysql,则需要安装很多依赖库、版本等,如果使用Docker则通过镜像就可以直接启动运行


2、快速动态扩容,使用docker部署了一个应用,可以制作成镜像,然后通过Dokcer快速启动


3、组建微服务架构,可以在一个机器上模拟出多个微服务,启动多个应用


4、更好的资源隔离和共享


Docket结构:


Docker 镜像 - Docker images:


class User{
    private String userName;
    private int age;
}

Docker 容器 - Docker containers:


容器包含了某个应用运行所需要的全部环境


 User user = new User()

Docker 仓库 - Docker registeries:


用来保存镜像,有公有和私有仓库,好比Maven的中央仓库和本地私服,镜像仓库:


(参考)配置国内镜像仓库:https://blog.csdn.net/zzy1078689276/article/details/77371782

对比面向对象的方式理解Docker,通过类创建对象,通过镜像创建容器


  • Dokcer 里面的镜像 : Java里面的类 Class
  • Docker 里面的容器 : Java里面的对象 Object


2. Linux安装Docker


安装前置条件


  • 64-bit 系统


  • kernel 3.10+


检查内核版本


返回的值大于3.10即可


uname -r

更新yum


yum update

添加yum仓库(直接拷贝即可)


tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

安装


yum install -y docker-engine

启动docker


systemctl start docker.service

验证安装是否成功


(有client和service两部分表示docker安装启动都成功了)


docker version

设置开机自启动


sudo systemctl enable docker

查看当前进程


docker ps

3. 阿里云安装linux docker (centeros7 版本)


下面的内容使用脚本安装 Docker


1、使用 sudoroot 权限登录 Centos。


2、确保 yum 包更新到最新。


$ sudo yum update

3、执行 Docker 安装脚本。


$ curl -fsSL https://get.docker.com/ | sh


执行这个脚本会添加 docker.repo 源并安装 Docker。


4、启动 Docker 进程。


$ sudo service docker start

5、验证 docker 是否安装成功并在容器中执行一个测试的镜像。


$ sudo docker run hello-world

到此,docker 在 CentOS 系统的安装完成。


docker 常用命令


常用命令(安装部署好Dokcer后,执行的命令是docker开头),xxx是镜像名称


  • 搜索镜像:docker search xxx


  • 列出当前系统存在的镜像:docker images


  • 拉取镜像:docker pull xxxxxx是具体某个镜像名称(格式 REPOSITORY:TAG) REPOSITORY:表示镜像的仓库源,TAG:镜像的标签


  • 运行一个容器:docker run -d --name "xd_mq" -p 5672:5672 -p 15672:15672 rabbitmq:management


docker run - 运行一个容器 -d 后台运行 -p 端口映射 rabbitmq:management  (格式 REPOSITORY:TAG),如果不指定tag,默认使用最新的 --name "xxx"


  • 列举当前运行的容器:docker ps


  • 检查容器内部信息:docker inspect 容器名称


  • 删除镜像:docker rmi IMAGE_NAME


强制移除镜像不管是否有容器使用该镜像 增加 -f 参数,


  • 停止某个容器:docker stop 容器名称


  • 启动某个容器:docker start 容器名称


  • 移除某个容器: docker rm 容器名称 (容器必须是停止状态)


文档blog.csdn.net/permike/art…


4. Docker部署Nginx服务器


Docker部署Nginx服务器


1.获取镜像 :docker run


(首先会从本地找镜像,如果有则直接启动,没有的话,从镜像仓库拉起,再启动)


2.查找镜像:docker search nignx


3.列举镜像:docker images


4.拉取Nignx的镜像:docker pull nignx


5.启动


docker run -d --name "nginx" -p 8088:80 nginx
docker run -d --name "nginx2" -p 8089:80 nginx
docker run -d --name "nginx3" -p 8090:80 nginx

如果是阿里云服务,记得配置安全组,腾讯云也需要配置,这个就是一个防火墙


5. 构建自己的私人镜像


操作流程:


1)登录: 
  docker login --username=xxx@xx.com registry.cn-xxxx.aliyuncs.com  
2) 推送本地镜像:
  docker tag [ImageId] registry.cn-xxxx.aliyuncs.com/xd/xd_images:[镜像版本号]
  例子:
    docker tag 2f415b0e9a6e registry.cn-xxx.aliyuncs.com/xd/xd_images:xd_rabbitmq-v1.0.2
    docker push registry.cn-xxxxx.aliyuncs.com/xd/xd_images:xd_rabbitmq-v1.0.2
3)拉取镜像
  线上服务器拉取镜像:
    docker login --username=xxx@qqxxxcom registry.cn-xxxx.aliyuncs.com
    docker pull registry.cn-xxxxx.aliyuncs.com/xd/xd_images:xd_rabbitmq-v1.0.2
  启动容器:
    docker run -d --name "xd_mq" -p 5672:5672 -p 15672:15672 2f415b0e9a6e

阿里云操作流程


1. 登录阿里云Docker Registry
$ sudo docker login --username=xxxxx registry.cn-xxxxx.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
您可以在产品控制台首页修改登录密码。
2. 从Registry中拉取镜像
$ sudo docker pull registry.cn-xxxxx.aliyuncs.com/zxd-registry/zxd-res:[镜像版本号]
3. 将镜像推送到Registry
$ sudo docker login --username=xiaolaodong11 registry.cn-xxxxx.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-xxxxx.aliyuncs.com/zxd-registry/zxd-res:[镜像版本号]
$ sudo docker push registry.cn-xxxxx.aliyuncs.com/zxd-registry/zxd-res:[镜像版本号]
请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。
4. 选择合适的镜像仓库地址
从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。
如果您使用的机器位于经典网络,请使用 registry-internal.cn-xxxxx.aliyuncs.com 作为Registry的域名登录,并作为镜像命名空间前缀。
如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-xxxxx.aliyuncs.com 作为Registry的域名登录,并作为镜像命名空间前缀。
5. 示例
使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。
$ sudo docker images
REPOSITORY                                                         TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry.aliyuncs.com/acs/agent                                    0.7-dfb6816         37bb9c63c8b2        7 days ago          37.89 MB
$ sudo docker tag 37bb9c63c8b2 registry-vpc.cn-xxxxx.aliyuncs.com/acs/agent:0.7-dfb6816
使用"docker images"命令找到镜像,将该镜像名称中的域名部分变更为Registry专有网络地址。
$ sudo docker push registry-vpc.cn-xxxxx.aliyuncs.com/acs/agent:0.7-dfb6816


相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。 &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
相关文章
|
15天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
32 5
|
23天前
|
Linux Shell 数据库
文件查找是Linux用户日常工作的重要技能介绍了几种不常见的文件查找方法
文件查找是Linux用户日常工作的重要技能。本文介绍了几种不常见的文件查找方法,包括使用`find`和`column`组合、`locate`和`mlocate`快速查找、编写Shell脚本、使用现代工具`fd`、结合`grep`搜索文件内容,以及图形界面工具如`Gnome Search Tool`和`Albert`。这些方法能显著提升文件查找的效率和准确性。
41 2
|
25天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
64 2
|
27天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
56 2
|
28天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
34 3
|
29天前
|
运维 Linux
Linux查找占用的端口,并杀死进程的简单方法
通过上述步骤和命令,您能够迅速识别并根据实际情况管理Linux系统中占用特定端口的进程。为了获得更全面的服务器管理技巧和解决方案,提供了丰富的资源和专业服务,是您提升运维技能的理想选择。
37 1
|
29天前
|
运维 安全 Linux
Linux文件清空的五种方法总结分享
每种方法各有优势,选择最合适的一种或几种,可以极大提高您的工作效率。更多有关Linux系统管理的技巧与资源,欢迎访问,持续提升您的运维技能。
66 1
|
1月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
269 3
|
11天前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
78 0
|
15天前
|
Docker 容器
【赵渝强老师】使用二进制包方式安装Docker
本文介绍了在企业生产环境中无法直接访问外网时,如何使用Docker官方提供的二进制包进行Docker的离线安装。文章详细列出了从安装wget、下载Docker安装包、解压、复制命令到启动Docker服务的具体步骤,并提供了相关命令和示例图片。最后,还介绍了如何设置Docker为开机自启模式。
下一篇
无影云桌面