安装部署docker以及基本的操作

news2024/11/25 2:49:37

目录

一.安装与部署docker

1.1 关闭防火墙

 1.2 安装依赖包

 1.3 设置阿里云镜像源

 1.4安装docker-ce社区版

 二.设置镜像加速

 三.网络优化

四.docker镜像操作

4.1 搜索镜像——docker search 镜像

 4.2 下载镜像——docker pull 仓库名/镜像名:标签

 4.3 查看已下载镜像——docker images

4.4 查看镜像详细信息

4.5修改镜像标签

4.6删除镜像

 五 .导出镜像文件和拉取本地镜像文件

5.1 导出镜像文件

 5.2 拉取本地镜像文件

六 容器管理

1.创建容器

 2.开启容器

 3.关闭容器

(1)优雅停止

 (2)强制停止

 4.查看容器状态信息

5.删除容器

 6.进入容器

 7.复制文件

(1)从容器中复制到主机

 8.创建并启动容器(替代1和2)

 9.容器的导入和导出

(1)导出

 (2)导入

一.安装与部署docker

1.1 关闭防火墙

#关闭防火墙并设置开机自关闭
systemctl stop firewalld.service
systemctl disable firewalld.service 
setenforce 0

 1.2 安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

 1.3 设置阿里云镜像源

#设置阿里云镜像源
cd /etc/yum.repos.d/
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

 1.4安装docker-ce社区版

#安装docker-ce社区版
yum install -y docker-ce
 
#开启docker并设置开机自启
systemctl start docker.service
systemctl enable docker.service

 

 二.设置镜像加速

 这里我们使用阿里云的镜像,加速镜像下载速度
  注册阿里云账号并登录

 

 

 

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [镜像加速地址]
}
EOF
systemctl daemon-reload
systemctl restart docker

 三.网络优化

vim /etc/sysctl.conf
 
net.ipv4.ip_forward=1  #开启路由转发功能
stsctl -p
systemctl restart network
systemctl restart docker

四.docker镜像操作

4.1 搜索镜像——docker search 镜像

/前面的是公有仓库的名称

如果没有则代表是默认镜像(官方镜像)

 4.2 下载镜像——docker pull 仓库名/镜像名:标签

 4.3 查看已下载镜像——docker images

#查看下载到本地的所有镜像
docker images
 
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    605c77e624dd   19 months ago   141MB

--------------------------------------------------------------------------------
REPOSITORY:镜像属于的仓库;
TAG:镜像的标签信息,标记同一个仓库中的不同镜像;
IMAGE ID:镜像的唯一ID 号,唯一标识一个镜像,经过md5方式加密过;
CREATED:镜像创建时间;
VIRTUAL SIZE:镜像大小;
--------------------------------------------------------------------------------

4.4 查看镜像详细信息

docker inspect 镜像ID

4.5修改镜像标签

docker tag 原仓库名/原镜像名:原标签 新仓库名/新镜像名:新标签

 注:修改标签后显示的镜像,不会删除原有镜像,两个镜像文件是同一个的所以ID也相同

4.6删除镜像

docker rmi 仓库名/镜像名:标签      

                   镜像ID

 删除所有镜像可以使用 docker rmi $(docker images -q) 

 五 .导出镜像文件和拉取本地镜像文件

5.1 导出镜像文件

 docker save -o xxx.tar 仓库名/镜像名:标签        #默认导出到当前目录

 5.2 拉取本地镜像文件

docker load -i xxx.tar        # -i 也可以使用 < 替换

六 容器管理

1.创建容器

       容器创建就是将镜像加载到容器的过程。新创建的容器默认处于停止状态,不运行任何程序,需要在其中发起一个进程来启动容器。

 docker create [选项] 镜像名

                        --name=容器名

                        -i                  让容器开启标准输入接受用户输入命令
                        -t                  让 Docker 分配一个伪终端 tty
                        -it                 合起来实现和容器交互的作用,运行一个交互式会话 shell

 2.开启容器

docker start 容器名或ID

 

 3.关闭容器

        分为优雅停止和强制停止,强制停止区别于优雅停止的是状态码不同,强制停止可能造成数据异常,在特点状况下使用。

(1)优雅停止

docker stop 容器名或ID

 (2)强制停止

docker kill 容器名或ID

 4.查看容器状态信息

docker ps              #默认查看开启的容器

                  -a        #查看所有存在的容器

                  -q        #显示容器ID

 

字段名含义
CONTAINER   ID容器ID号
IMAGE镜像名
COMMAND启动容器执行的命令(镜像已经定义好,可以通过docker inspect镜像查看到,如果在创建容器的命令后面跟上命令,会覆盖这个默认执行的命令)
CREATED创建时间(相对于现在)
STATUS容器状态(创建、开启、关闭)
PORTS容器映射的端口
NAMES容器名称(使用--name指定的,未指定系统会自动创建)

5.删除容器

docker rm 容器名或ID

 

 6.进入容器

docker exec -it 容器名或ID sh

 7.复制文件

(1)从容器中复制到主机

docker cp 容器名或ID:文件路径 主机文件路径

 (2)从主机复制到容器

docker cp 主机文件路径 容器名或ID:文件路径

 8.创建并启动容器(替代1和2)

docker run 容器名或ID [指定命令]        #等同于先执行 docker create 命令,再执行 docker start 命令,之后默认执行镜像定义的命令,也可以自己指定命令,命令执行完则退出。

                -d        #后台运行

注意:容器是一个与其中运行的 shell 命令/进程共存亡的终端,命令/进程运行容器运行, 命令/进程结束容器退出。

docker 容器默认会把容器内部第一个进程,也就是 pid=1 的程序作为docker容器是否正在运行的依据,如果docker容器中 pid = 1 的进程挂了,那么docker容器便会直接退出,也就是说Docker容器中必须有一个前台进程,否则认为容器已经挂掉。

 当利用 docker run 来创建容器时, Docker 在后台的标准运行过程是

  • 检查本地是否存在指定的镜像。当镜像不存在时,会从公有仓库下载;
  • 利用镜像创建并启动一个容器;
  • 分配一个文件系统给容器,在只读的镜像层外面挂载一层可读写层;
  • 从宿主主机配置的网桥接口中桥接一个虚拟机接口到容器中;
  • 分配一个地址池中的 IP 地址给容器;
  • 执行用户指定的应用程序,执行完毕后容器被终止运行。

 

 可以使用死循环使某些容器(如centos操作系统)持续运行

 打开另一个终端查看,处于运行中,也能进入此包含centos操作系统的容器执行操作

 但是使用死循环持续运行会占用前台,所以直接使用-d选项

 9.容器的导入和导出

        用户可以将任何一个 Docker 容器从一台机器迁移到另一台机器。在迁移过程中,可以使用docker export 命令将已经创建好的容器导出为容器快照文件,无论这个容器是处于运行状态还是停止状态均可导出。可将导出文件传输到其他机器,通过相应的导入命令实现容器的迁移。

(1)导出

docker export 容器ID/名称 > 文件名

docker export -o 容器ID/名称 文件名

 (2)导入

注意:导入后会生成镜像,但不会创建容器

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/882023.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

成集云 | 鼎捷ERP采购单同步钉钉 | 解决方案

源系统成集云目标系统 方案介绍 鼎捷ERP&#xff08;Enterprise Resource Planning&#xff09;是一款综合性的企业管理软件&#xff0c;它包括了多个模块来管理企业的各个方面&#xff0c;其中之一就是采购订单模块。鼎捷ERP的采购订单模块可以帮助企业有效管理和控制采购过程…

JavaScript 第二天

深入对象内置构造函数 一. 深入对象 创建对象三种方式构造函数实例成员&静态成员 1.1 创建对象三种方式 ① 利用对象字面量创建对象 const o {name: 哈哈 } ② 利用new Object 创建对象 const o new Object({ name: 哈哈 }) ③ 构造函数创建对象 1.2 构造函数 …

C进阶(2/7)前篇——指针进阶

前言&#xff1a;本文章讲解部分指针进阶内容。后续继续更新。 文章重点&#xff1a; 1. 字符指针 2. 数组指针 3. 指针数组 4. 数组传参和指针传参 目录 前言&#xff1a;本文章讲解部分指针进阶内容。后续继续更新。 指针初阶了解&#xff1a; 1.字符指针 1.1一道有关于字…

day8 STM32数据搬运工 - DMA

DMA简介 DMA&#xff0c;全称为&#xff1a;Direct Memory Access&#xff0c;即直接存储器访问。 DMA 传输方式无需 CPU 直接控制传输&#xff0c;也没有中断处理方式那样保留现场和恢复现场的过程&#xff0c;通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路&#x…

(二)掌握最基本的Linux服务器用法——Linux下简单的C/C++ 程序、项目编译

1、静态库与动态库 静态库(Static Library)&#xff1a;静态库是编译后的库文件&#xff0c;其中的代码在编译时被链接到程序中&#xff0c;因此它会与程序一起形成一个独立的可执行文件。每个使用静态库的程序都会有自己的库的副本&#xff0c;这可能会导致内存浪费。常用后缀…

Mendix 基础审计模块介绍

一、前言 作为售前顾问&#xff0c;帮助客户选型低代码产品是日常工作。考察一家低代码产品的好坏&#xff0c;其中一个维度就是产品的成熟度。产品成熟度直接影响产品在使用中的稳定性和用户体验&#xff0c;对于新工具导入和可持续运用至关重要。 那怎么考察一个产品是否成…

Ghost-free High Dynamic Range Imaging withContext-aware Transformer

Abstract 高动态范围(HDR)去鬼算法旨在生成具有真实感细节的无鬼HDR图像。 受感受野局部性的限制&#xff0c;现有的基于CNN的方法在大运动和严重饱和度的情况下容易产生重影伪影和强度畸变。 本文提出了一种新的上下文感知视觉转换器&#xff08;CA-VIT&#xff09;用于高动态…

UNIAPP中开发企业微信小程序

概述 需求为使用uni-app开发企业微信小程序。希望可以借助现成的uni-app框架&#xff0c;快速开发。遇到的问题是uni-app引入jweixin-1.2.0.js提示异常: Reason: TypeError: Cannot read properties of undefined (reading ‘title’)。本文中描述了如何解决该问题&#xff0c…

Python语法基础——循环

学习目标 通过使用while循环编写重复执行的语句。遵从循环的设计策略开发循环。利用用户的确认控制循环。用哨兵值控制循环。通过使用输入重定向从文件获取大量数据而不是从键盘输入来来获取大量数据&#xff0c;并且使用输出重定向将输出存人文件。使用for循环来实现计数器控制…

【资料包】HDC.Together 2023精选Codelabs指南现已上线(内有活动)

今年HDC.Together 2023的Codelabs挑战系列活动如期而至&#xff0c;众多开发者齐聚一堂&#xff0c;积极参与。本次赛题中部分Codelabs已在官网上线详细操作指南&#xff0c;让我们与众多coders一起探索代码的独特魅力。 01 ArkTS基础知识&#xff08;ArkTS&#xff09; 本课程…

Spring系列六:JdbcTemplate

&#x1f992;JdbcTemplate &#x1f4d5;实际需求 实际需求: 如果程序员就希望使用spring框架来做项目, spring框架如何处理对数据库的操作呢? 方案1: 使用前面做项目开发的JdbcUtils类方案2: 其实spring提供了一个操作数据库(表)功能强大的类JdbcTemplate. 我们可以同ioc…

目标和——力扣494

文章目录 题目描述解法:动态规划题目描述 解法:动态规划 nt findTargetSumWays(vector<int>& nums, int target){int sum

Paper 推荐第3期|隐私集合求交 PSI 系列

前言&#xff1a; 隐语 awesome-PETs&#xff08;PETs即Privacy-Enhancing Technologies &#xff0c;隐私增强技术&#xff09;精选业内优秀论文&#xff0c;按技术类型进行整理分类&#xff0c;旨在为隐私计算领域的学习研究者提供一个高质量的学习交流社区。awesome-PETs 包…

关于vant2 组件van-dropdown-item,在IOS手机上,特定条件下无法点击问题的探讨

情景重现 先贴有问题的代码 <template><div :class"showBar ? homeContain : homeContain-nobar"><div class"contant" id"content"><van-dialog v-model"loading" :before-close"onBeforeClose" :…

css鼠标样式 cursor: pointer

cursor: none; cursor:not-allowed; 禁止选择 user-select: none; pointer-events:none;禁止触发事件, 该样式会阻止默认事件的发生&#xff0c;但鼠标样式会变成箭头

openpose姿态估计【学习笔记】

文章目录 1、人体需要检测的关键点2、Top-down方法3、Openpose3.1 姿态估计的步骤3.2 PAF&#xff08;Part Affinity Fields&#xff09;部分亲和场3.3 制作PAF标签3.4 PAF权值计算3.5 匹配方法 4、CPM&#xff08;Convolutional Pose Machines&#xff09;模型5、Openpose5.1 …

【uniapp2】获取manifest里的versionName版本号

在要展示版本号的页面中添加&#xff1a; onLoad() {// 获取本地应用资源版本号plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) > {this.innerVer wgtinfo.version;this.versionCode wgtinfo.versionCode;console.log(wgtinfo);});},打印看看获取的信息&#x…

机器学习---逻辑回归代码

1. 逻辑回归模型 import numpy as npclass LogisticRegression(object):def __init__(self, learning_rate0.1, max_iter100, seedNone):self.seed seedself.lr learning_rateself.max_iter max_iterdef fit(self, x, y):np.random.seed(self.seed)self.w np.random.normal…

视频汇聚平台EasyCVR安防监控视频汇聚平台的FLV视频流在VLC中无法播放的问题解决方案

众所周知&#xff0c;TSINGSEE青犀视频汇聚平台EasyCVR可支持多协议方式接入&#xff0c;包括主流标准协议国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。在视频流的处理与分发上&#xff0c;视频监控…

ESP8266获取网络时间 实时时钟

程序现象 一、用串口调试助手调试 1.发送指令ATRST重启模块使应用模式更改生效&#xff1b; 2.发送指令ATE0取消回显 3.使用串口发送指令ATCWMODE1设置模块Wi-Fi应用模式为Station模式&#xff1b; 4.发送指令ATCWJAP "ssid","pwd"连接AP&#xff1b; …