文章目录

  • 一.Docker的基本组成
    • 1.Docker是什么?
    • 2.我可以使用Docker做什么?
  • 二.Docker在线安装
    • 1.使用uname命令验证-查看即可
    • 2.如果已经安装过Docker,先卸载已安装的Docker。
    • 3.安装yum工具包和存储驱动
    • 4.设置镜像的仓库
    • 5.安装docker
    • 6.启动docker
    • 7.安装后查看Docker版本
    • 8.配置阿里云镜像加速
    • 9.验证配置是否成功
  • 三.Docker内网环境的离线安装
    • 1、解压缩安装包
    • 2、复制解压缩后的文件到指定文件夹
    • 3、注册编辑docker服务
    • 4、复制下列内容到该文档中
    • 5、添加权限后启动
    • 6、重新加载配置文件、和启动Docker
    • 8、设置开机自启
    • 9、验证是否安装成功
  • 四.运行第一个容器
  • 五.[Docker](https://www.docker.com/)服务基本操作
    • 启动docker服务
    • 查看Docker状态
    • 设置Docker开机自启
    • 禁用Docker开机自启
    • 重新启动Docker服务
    • 查看Docker信息
    • 停止docker服务
    • 加载已有的镜像到Docker中:
    • 查看Docker内的镜像列表
    • 查看容器列表
    • 创建容器
    • 进入容器
    • 删除镜像和容器
    • 不进入容器情况下在容器内执行命令
  • 文章推荐:

一.Docker的基本组成

1.Docker是什么?

Docker 是一个用于开发、发布和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分离,以便您可以快速交付软件。使用 Docker,您可以像管理应用程序一样管理基础设施。通过利用 Docker 快速交付、测试和部署代码的方法,您可以显着减少编写代码和在生产环境中运行之间的延迟。

2.我可以使用Docker做什么?

快速、一致地交付您的应用程序
Docker 通过允许开发人员使用提供应用程序和服务的本地容器在标准化环境中工作来简化开发生命周期。容器非常适合持续集成和持续交付 (CI/CD) 工作流程。
响应式部署和扩展
Docker 基于容器的平台允许高度可移植的工作负载。Docker 容器可以在开发人员的本地笔记本电脑、数据中心的物理或虚拟机、云提供商或混合环境中运行。
Docker 的可移植性和轻量级特性还使得动态管理工作负载、根据业务需求近乎实时地扩展或拆除应用程序和服务变得容易。
在相同硬件上运行更多工作负载
Docker 是轻量级和快速的。它为基于管理程序的虚拟机提供了一种可行且经济高效的替代方案,因此您可以使用更多计算容量来实现业务目标。Docker 非常适合高密度环境以及需要用更少资源完成更多工作的中小型部署。

3.Docker使用的是客户端-服务端(C/S)架构程序,什么是C/S、B/S?
客户端-服务端(C/S),俗称Client-Server(C/S)。例如:QQ,迅雷等,这种需要安装软件才能与服务器进行数据通信的方式就是C/S架构。
浏览器-服务端(B/S),俗称Browser-Server(B/S)。例如:仅需访问网址,就可以看片的方式就属于B/S架构。

Docker 使用客户端-服务器架构。Docker_客户端与 Docker守护进程_对话,后者负责构建、运行和分发 Docker 容器的繁重工作。Docker 客户端和守护程序_可以_ 在同一系统上运行,或者您可以将 Docker 客户端连接到远程 Docker 守护程序。Docker 客户端和守护程序使用 REST API,通过 UNIX 套接字或网络接口进行通信。另一个 Docker 客户端是 Docker Compose,它允许您使用由一组容器组成的应用程序。

镜像(image):
Docker 镜像就是一个只读的模板,可以通过这个模板来创建容器。一个镜像是可以创建多个容器的,就好像java里的类和对象一样,类是镜像,容器是对象。
容器(container):
Docker 利用容器来运行应用。容器是从镜像创建而来的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
仓库(repository):
仓库就是存放镜像的地方,分为公有仓库(Public)和私有仓库(Private)两种形式,其中官方仓库 Docker Hub是国外的,而国内很多公司,像阿里云,华为云等都有自己的容器服务,Docker默认使用的是国外的仓库,我们在国内访问就很慢,所以我们在学习的时候就需要配置镜像加速。
我们需要注意的是Docker本身并不是容器,它只是创建容器的工具,是应用容器引擎。
Build, Ship and Run 译为:构建镜像,运输镜像,运行镜像
Build(构建镜像):镜像就像是集装箱包括文件以及运行环境等等资源。
Ship(运输镜像):主机和仓库间运输,这里的仓库就像是超级码头一样。
Run (运行镜像):运行的镜像就是一个容器,容器就是运行程序的地方。

二.Docker在线安装

基本要求:Linux要求内核3.0以上、CentOS 需要是7版本的

1.使用uname命令验证-查看即可

[root@iZbp10xkd0ts74qqt1yjlyZ /]# uname -r
5.10.112-11.2.al8.x86_64

2.如果已经安装过Docker,先卸载已安装的Docker。

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

3.安装yum工具包和存储驱动

yum install -y yum-utils

4.设置镜像的仓库

yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
#上述方法默认是从国外的,不推荐#推荐使用国内的,阿里云docker镜像
yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5.安装docker

注意 : docker-ce 社区版 而ee是企业版。这里我们使用社区版即可。

yum install docker-ce docker-ce-cli containerd.io

6.启动docker

systemctl start docker

7.安装后查看Docker版本

docker version

8.配置阿里云镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决这个问题。
登录阿里云->搜索 “ 容器镜像服务 ”->获取加速器地址

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

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
EOF
# 重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

注意:阿里云的本人自己账号的镜像地址(需要自己注册有一个属于你自己的):https://xxxx.mirror.aliyuncs.com

9.验证配置是否成功

docker info

三.Docker内网环境的离线安装

由于在很多情况下需要安装docker的虚拟机或服务器无法访问互联网,因此需要离线安装docker。
下载安装包
访问https://download.docker.com/linux/static/stable/选择合适的版本并下载
在下用的是:https://download.docker.com/linux/static/stable/x86_64/docker-20.10.6.tgz
在linux环境下,创建/root/setup/docker目录,然后拷贝下载好的资源到此目录(可通过MobaXterm工具直接上传到linux目录)
以下操作在拟安装的机器上进行

1、解压缩安装包

tar -zxvf docker-20.10.6.tgz

2、复制解压缩后的文件到指定文件夹

 cp docker/* /usr/bin/

3、注册编辑docker服务

vim /etc/systemd/system/docker.service

4、复制下列内容到该文档中

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target

5、添加权限后启动

chmod +x /etc/systemd/system/docker.service

6、重新加载配置文件、和启动Docker

systemctl daemon-reload
#启动Docker
systemctl start docker

8、设置开机自启

systemctl enable docker.service

9、验证是否安装成功

systemctl status docker
docker -v

四.运行第一个容器

我们以 Nginx 为例,体验 Docker 是如何运行容器的

# 下载镜像
docker pull nginx# 运行容器
docker run --name nginx-container -p 80:80 -d nginx

命令解读:

  • docker run : 创建并运行一个容器
  • –name : 给容器起一个名字, 比如叫做 nginx-container
  • -p : 将宿主机端口与容器端口映射, 冒号左侧是宿主机端口, 右侧是docker容器端口
  • -d : 后台运行容器
  • nginx : 镜像名称 , 例如nginx

浏览器输入虚拟机地址即可访问 Nginx

五.Docker服务基本操作

启动docker服务

 systemctl start docker

查看Docker状态

查看docker是否启动了,是否是运行状态

systemctl status docker

设置Docker开机自启

systemctl enable docker

禁用Docker开机自启

systemctl disable docker

重新启动Docker服务

 systemctl restart docker

查看Docker信息

docker info

停止docker服务

systemctl stop docker

加载已有的镜像到Docker中:

docker load < xxx.tar # xxx.tar表示镜像文件

查看Docker内的镜像列表

docker images

查看容器列表

# 格式 docker ps [参数]docker ps # 查看当前系统中正在运行的容器列表#参数-a : 查看系统中所有的容器。-q : 仅显示容器的ID

创建容器

# 格式docker run [参数] [镜像名称] [运行容器的启动命令]
# 参数-d : 以守护进程的方式运行一个容器docker run -d [镜像名称] [cmd]--name : 指定容器的名称docker run -d --name [容器名称] [镜像的名称] [cmd]-p : 指定端口映射docker run -d -p 宿主主机端口:容器内端口 [镜像名称] [cmd]-P :随机端口映射docker run -d -P [镜像名称] [cmd]-i : 打开标准输出-t : 创建一个伪终端docker run -it [镜像名称] [cmd]-v : 挂载目录到容器中docker run -v 宿主主机目录:容器内目录  [镜像名称] [cmd]--rm : 容器生命周期结束时立即删除docker run --rm [镜像名称] [cmd]-e : 在容器中创建一个环境变量docker run -e NAME=Centos -d [镜像名称] [cmd]--link : 连接上一个容器,实现网络互通docker run --link 被连接的容器的名称:连接别名 [镜像名称] [cmd]-h : 设置容器主机名docker run -h "主机名"  [镜像名称] [cmd]
# docker run 运行流程
1、检查本地是否用指定镜像,如果没有则去对应的仓库下载镜像
2、启动容器,如果指定了命令则使用指定的命令,如果没有则使用默认的命令
3、返回容器ID

进入容器

容器启动后,需要进入容器做相关的操作,这个时候就需要进入到容器内部。

# 容器ID可以通过查看容器列表获得
docker attach [容器ID] # 个人最常用
docker exec -it [容器ID] /bin/bash # 这种方式也是可以的

删除镜像和容器

  • 删除镜像
docker rmi [镜像ID] # 如果镜像有关联容器,将执行失败
docker rmi -f [镜像ID] # 强制删除镜像,同时删除关联的容器
  • 删除容器
docker rm [容器ID] # 删除容器,如果容器在运行貌似也是删不掉的
docker rm -f [容器ID] # 强制删除

不进入容器情况下在容器内执行命令

docker exec -d [容器名称] /bin/bash -c [需要执行的命令] -g "daemon off;"

示例:

docker exec -d my_container_name /bin/bash -c "nohup java -jar /home/my/xxx.jar > /home/my/log/xxx.log 2>&1 &" -g "daemon off;"

文章推荐:

服务器安装所需:
阿里云服务器申请免费试用图文教程(个人和企业均可申请):
https://blog.csdn.net/SoulNone/article/details/126902213

安装rabbitmq图文详解步骤
https://blog.csdn.net/SoulNone/article/details/126902764

各位看官》创作不易,点个赞!!!
诸君共勉:万事开头难,只愿肯放弃。

免责声明:本文章仅用于学习参考

快速安装Docker详细图文步骤教程相关推荐

  1. 惠普打印机驱动服务器系统安装教程,Hp打印机驱动怎么安装,详细图文版教程...

    图一 一.许多惠普打印机是网络共享的,我们把电源线插入我们的计算机. 为了获得更好的办公性能,您可以将网络电缆连接到共享打印机,以便网络上的计算机可以使用打印机. Hp打印机驱动怎么安装,详细图文版教 ...

  2. 系统安装教程:Windows7硬盘安装方法详细图文教程及使用工具下载

    下载好一个Windows7原版之后,也需有些人会为无光驱而感到烦恼,今天我就教大家怎么在硬盘安装微软新一代操作系统--Windows7 首先要将Windows7的安装文件放在某个盘的根目录 然后运行n ...

  3. 神舟linux装win7教程,神舟笔记本win10系统改win7系统详细图文步骤

    神舟笔记本win10系统怎么改为win7系统?神舟笔记本性能强劲,操作流畅,是游戏办公的最好选择.最近有位用户购买了神舟笔记本之后,预装的是win10系统,但是他用惯了win7系统,就想将其中的win ...

  4. Linux 基于官网快速安装zabbix5.0图文教程

    基于官网快速安装zabbix5.0图文教程 前言 1选择下载zabbix的版本和配置 访问官网下载地址 2.安装和配置zabbix 安装zabbix资源库 安装Zabbix server,Web前端, ...

  5. 长虹android电视安装apk,长虹电视怎么安装第三方软件,附上详细图文步骤说明...

    长虹电视无论新旧型号,都遇上了无法安装U盘里apk安装包的问题,会出现下图的提示.网上很多文章说要刷固件降级才行,其实不然.本文以"蚂蚁市场"这个软件为例,教大家长虹电视怎么安装第 ...

  6. python安装配置教程win10_win10怎么安装python_win10安装python的图文步骤

    Python是近年来发展非常迅速地编程语言,比较宽松且非常容易上手.但win10怎么安装python呢?有些使用win10精简版的用户就有这样的疑问,所以今天本文为大家分享的就是关于win10安装py ...

  7. 新斗罗大陆Linux楼高服务端+详细图文架设教程

    本来早就准备写这篇教程了,因为现实里琐事比较多,于是推了好几天才静下心写这篇教程. 网上目前有很多关于新斗罗大陆架设教程的视频,大家如果我这里的看不太懂可以百度搜索下,看下视频会直观一些. 下面教程开 ...

  8. 【快速安装Docker服务及Docker配置、Docker常用命令。】

    一.安装docker服务 命令行输入curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun即可快速安装 如提示curl: ...

  9. 如何将计算机网络设置为家庭网络连接打印机共享,Win7系统如何设置打印机共享,详细图文步骤...

    原标题:Win7系统如何设置打印机共享,详细图文步骤 取消禁用Guest用户,因为别人要访问安装打印机的按个电脑就是以guest账户访问的.点击[开始]按钮,在[计算机]上右键,选择[管理],在弹出的 ...

最新文章

  1. vsftp pam mysql_VSFTP+MySQL+PAM
  2. C/C++动态二维数组的内存分配和释放
  3. 电脑服务器怎么打开网页,电脑的iis服务器打开网页的方法
  4. 最常用最好记Linux命令
  5. SQL Server中利用存储过程来高性能地进行分页
  6. Linux ALSA声卡驱动之四:Control设备的创建
  7. Selenium介绍
  8. 连亏172亿,割肉卖楼,年收3700亿、闻名全球的巨头,败退中国!
  9. 详细解读!Isotropic Remeshing的详细介绍与实现
  10. cocos2d-x常用工具-沈大海cocos2d-x教程23
  11. linux常见问题(lrzszvim乱码crontab用户授权chkconfig)
  12. Python3.8 安装gmpy2 教程, 无法安装gmpy2解决方案
  13. HDU2222【AC自动机(基础·模板)】
  14. 【转载】教你使用 Reflexil 反编译.NET
  15. 首都师范 博弈论 6 3 2子博弈完美均衡 蜈蚣博弈
  16. CodeWarrior IDE烧写介绍
  17. 黑群晖折腾之百度网盘云同步
  18. 小米air2se耳机只有一边有声音怎么办_小米推出与Air2系列的第三款Air2 SE拼性价比意义何在?...
  19. InnoDB 存储引擎详细解析
  20. MyBatis 的基本工作原理

热门文章

  1. 金立ELIFE冠名第二季《中国好歌曲》 力挺中国原创
  2. 实时监控文本框输入字数
  3. 登录日志/操作日志AOP记录实现(续SpringSecurity)
  4. 建筑施工脚手架安全技术统一标准
  5. G1GC优化方案—官方原版
  6. 毕业之际,而我也快了-------一位准大三的程序猿
  7. 自定义java Pageable分页对象
  8. 用三层神经网络识别手写数字
  9. JVM 垃圾回收相关概念
  10. Flutter dialog (1) - showDialog的讲解