Docker 命令 镜像操作 容器操作 备份与迁移 DockerFile

news2024/12/22 8:09:51

什么是Docker?

Docker是一种开源应用容器引擎,开发者可以打包自己的应
用以及依赖包到可移植的容器中,然后发布到任何linux机器上。
Docker客居在操作系统内核上的用户空间,只能运行与底层宿主
机相同的操作系统之上。主要目标是实现轻量级的操作系统虚拟化
解决方案。Docker的兴起主要是因为互联网应用的快速更迭以及
微服务架构的流行。

Docker组件

Docker服务器与客户端(cs架构)
Docker镜像与容器
Docker仓库

Docker的安装与启动

安装与启动

目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本
使用uname –r查看当前操作系统的内核版本
在这里插入图片描述

1.yum包更新到最新:

sudo yum update

在这里插入图片描述

2.安装需要的安装包,yum-util提供yum-config-manager功能,后面的是devicemapper驱动依赖的。
sudo yum install –y yum-utils device-mapper-persistent-data lvm2
3.设置yum源为阿里源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.安装docker
sudo yum install docker-ce
5.安装后可以使用docker –v查询docker版本
在这里插入图片描述
Docker安装后需要设置镜像,在服务器的/etc/docker/目录下找到名为
daemon.json的文件

进入vim编辑输入

{
“registry-mirrors”:[https://docker.mirrors.ustc.edu.cn]
}
在这里插入图片描述
修改完以后通过systemctl restart docker.service重新启动docker服务

systemctl命令是系统服务管理器指令,它是 service 和 chkconfig 两个命令组合。
启动docker:systemctl start docker
在这里插入图片描述
停止docker:systemctl stop docker
在这里插入图片描述
重启docker:systemctl restart docker
查看docker状态:systemctl status docker
开机启动:systemctl enable docker
查看docker概要信息:docker info
查看docker帮助文档:docker --help

Docker镜像操作

1.列出本地docker镜像:docker images
(镜像一般存储在Docker宿主机的/var/lib/docker目录下)
在这里插入图片描述
2.搜索镜像:docker search 镜像名字
在这里插入图片描述
3.拉取镜像:docker pull 镜像名
在这里插入图片描述
4.删除镜像:
docker rmi IMAGE_ID 删除指定镜像
docker rmi docker image -q 删除所有镜像

在这里插入图片描述

Docker容器操作

查看正在运行的容器
docker ps
查看所有容器
docker ps -a
查看最后一次运行的容器
docker ps -l
查看停止的容器
docker ps –f status=exited

1、创建容器常见参数
创建容器命令:docker run
-i:表示运行容器
-t:表示容器启动后进入命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
–name:创建的容器名称
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

2、交互式容器
docker run -it --name=myhello1 hello-world
3、守护式容器
docker run -di --name=myhello2 hello-world

登录容器:docker exec -it container_name (或者 container_id) /bin/bash
守护式容器和交互式容器的区别在于守护式容器可以后台运行
离开容器:exit

4、启动和停止容器
启动容器:docker start $CONTAINER_NAME/ID
停止容器:docker stop $CONTAINER_NAME/ID
5、文件复制
从宿主机拷贝到容器:docker cp 需要拷贝的文件或目录 容器名称:容器目录
从容器拷贝到宿主机:docker cp 容器名称:容器目录 需要拷贝的文件或目录
6、目录映射
将宿主机的目录与容器内的目录进行映射,这样可以通过修改宿主机的文件从而去影响容器。创建容器 添加-v参数 后边为 宿主机目录:容器目录
docker run -di -v 宿主机目录:容器目录 --name=myhello3 --privileged=true hello-world
7、查看容器信息
docker inspect 容器名
8、删除容器
删除指定容器:docker rm $CONTAINER_ID/NAME
删除所有容器:docker rm docker ps -a -q

Docker备份与迁移

1、容器保存为镜像
docker commit myhello myhelloimage
myhello为容器名称
myhelloimage为保存的新的镜像名称

2、镜像备份
docker save -o myhello.tar myhello
-o 后面跟的是输出的文件

3、镜像恢复
docker load -i myhello.tar
myhello.tar为镜像备份后的文件

Dockerfile常用命令

什么是Dockerfile?Dockerfile是由一系列命令和参数组成的脚本,应用于基础镜像并创建一个新的镜像。可以为开发人员提供统一的开发环境,而且测试、运维人员可以直接用Dockerfile构建新的镜像,实现无缝移植。

1、常用命令:
在这里插入图片描述
在这里插入图片描述
2、使用脚本创建镜像
做一个小Demo,用SpringBoot构建一个HelloWorld工程打成jar包,发布到服务器,用Dockerfile构建成镜像。然后就可以用镜像创建容器运行。
(1)首先在宿主机创建目录用于存放jar包和Dockerfile文件
cd /usr/local mkdir helloworlddocker
(2)上传jar包
(3)创建Dockerfile文件并编辑(文件名必须为Dockerfile)
vim Dockerfile 内容如下
在这里插入图片描述
(4)执行命令构建镜像
docker build -t helloworlddemo .
需要注意的是,后面有一个 . 而且镜像的名字是全小写,-t是指定tag名。
在这里插入图片描述
执行完正确的构建镜像命令后会下依赖的基础镜像,然后在基础镜像上运行java程序
在这里插入图片描述
成功以后是这样的
在这里插入图片描述
执行完正确的构建镜像命令后会下依赖的基础镜像,然后在基础镜像上运行java程序
(5)查看镜像是否构建成功 docker images
在这里插入图片描述
(6)运行镜像
docker run -d -p 18080:8080 --name helloworlddemo helloworlddemo
然后打开浏览器访问18080端口。
在这里插入图片描述

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

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

相关文章

线性代数-知识点复习(面试用)

整理:Peter1146717850 一、向量与线性组合 向量:往什么方向走多么远 e.g. ( 1 2 ) \begin{pmatrix} 1 \\ 2\end{pmatrix} (12​) 向量的模:向量的长度 向量的加减法:向量对应元素相加减(前提:维度相同…

免费SSL证书和付费SSL证书区别在哪

免费SSL证书与付费SSL证书在多个方面存在差异,这些差异主要体现在认证级别、保障金额以及服务范围上。在以下几个方面存在显著区别: 1、验证类型和信任级别: 免费SSL证书:通常只提供域名验证(DV)级别的证…

【Linux】日志分析与管理

作为一个运维,如果不会看日志,就好比是冬天刚刚用热水泡完了脚,接着就立马让人把水喝掉。 目录 一、Inode介绍 1.1 什么是inode 1.2 inode表内容 1.3 查看inode号的方式 二、日志分析 2.1 日志的用途 2.2 日志的分类 2.3 日志级别 2…

电力调度自动化系统由什么构成?

电力调度自动化系统由什么构成? 电力调度自动化系统通过数据采集与传输、数据处理与存储、监视与控制、优化与决策、通信网络和系统应用软件等构成,实现对电力系统的监控、控制和优化。 电力调度自动化系统是一种集成了计算机技术、通信技术、自动化技术…

从阿里云OSS迁移到AWS S3的步骤

随着企业数字化转型的加速,云计算成为企业IT基础设施不可或缺的部分。对象存储作为云计算的重要组成部分,为企业提供了可靠、安全、低成本的数据存储和管理解决方案。在选择对象存储服务时,企业需要根据自身需求和发展战略来进行全面评估。我们九河云,获得AWS官方认…

vue3 修改路由中的meta属性

有些时候可能需要在路由跳转前后修改meta里面的相关属性值,这个时候就需要使用钩子函数(路由守卫),钩子函数有全局钩子,局部组件钩子函数以及路由配置里面的钩子函数 (这些也叫路由守卫) 1.全局…

Windows 10 安装配置WSL2(Ubuntu 20.04)教程

Windows 10 安装配置WSL2(Ubuntu 20.04)教程 一、WSL简介 WSL(Windows Subsystem for Linux)是一个兼容层,允许在Windows 10上原生运行Linux二进制可执行文件。 二、安装WSL2 3.1 传统手动安装 更新系统&#xff…

“亚马逊依赖”之下,傲基科技的品牌势能如何提升?

受益于出口政策红利、低人工成本、完善的供应链以及成熟的生产工艺优势,近年来我国家具出口行业迅速发展。 数据显示,我国家具出口规模1995年仅为11.06亿美元,至2023年增至641.96亿美元。随着出口规模持续扩大,相关企业积极走入公…

问题速查手册(时实更新)【Ctrl+F】输入关键词可快速查询

1.1.虚拟机和机器人上树莓派的密码是多少 虚拟机和小车的账号和密码都是nanorobot,在linux下输入密码无任何提示,退格键也没有用。输错请按回车后重新输入。 注:2021年四月份以后购买的机器人账号和密码已更改为bingda 1.2.请严格区分PC端…

冯喜运:4.24 周三黄金原油市场分析报告及操作策略

黄金消息面解析:周三(4月24日)黄金反弹后微幅回跌,金价在2325美元附近喘息。尽管美国国债收益率下降,美元走弱,金价未能维持涨势。标普全球PMI弱于预期,引发了对美联储可能降息的猜测。中东地缘紧张局势有所缓解&#…

pom文件依赖报红问题

dependencyManagement标签下依赖报红 如图 dependencyManagement标签下依赖报红问题,原因是dependencyManagement标签下的包不会被下载,repository里根本没有 解决方法 :将依赖复制到dependencies标签下,再reload pom文件&#x…

力扣HOT100 - 230. 二叉搜索树中第K小的元素

解题思路&#xff1a; class Solution {List<Integer> list new ArrayList<>();public int kthSmallest(TreeNode root, int k) {dfs(root);return list.get(k - 1);}public void dfs(TreeNode root) {if (root null) return;dfs(root.left);list.add(root.val)…

【Linux】gdb的简单使用

文章目录 一、gdb是什么&#xff1f;二、使用说明1. 安装2. 注意事项3. 常用调试指令3.1 gdb3.2 l3.3 r3.4 n3.5 s3.6 b3.7 info b3.8 finish3.9 p3.10 set var3.11 c3.12 d breakpoints3.13 d n3.14 disable/enable breakpoints3.15 disable/enable n3.16 info b3.17 display …

男生一般穿什么裤子好看?五大爆款男装精选测评!

男生裤子要怎么选才能找到适合自己的裤子呢&#xff1f;这肯定是大家选裤子时经常出现的一个疑问了&#xff0c;现在的市面上虽然款式风格非常多&#xff0c;但是由于品牌鱼龙混杂的原因&#xff0c;不同的裤子质量也参差不齐。为了帮助各位男同胞能选到适合自己的裤子&#xf…

Springboot 整合 Quartz框架做定时任务

在Spring Boot中整合Quartz&#xff0c;可以实现定时任务调度的功能 1、首先&#xff0c;在pom.xml文件中添加Quartz和Spring Boot Starter Quartz的依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-bo…

Day15-进程和线程-开启线程的三种方式Thread类的常见方法线程的安全和同步线程池

1. 进程和线程-开启线程的三种方式 1.1 进程和线程的介绍 1.2 开启线程的三种方式 1.2.1 继承Thread类 package com.itheima.thread;public class ThreadDemo1 {/*开启线程第一种方式: 继承Thread类1. 编写一个类继承Thread2. 重写run方法3. 将线程任务代码写在run方法中4. …

无人机探测技术,无人机侦测频谱仪技术实现详解

频谱仪&#xff0c;又称为频谱分析仪&#xff0c;是一种用于测量电信号频谱特性的仪器。其基本原理是通过将时域信号转换为频域信号&#xff0c;进而分析信号的频率成分、功率分布、谐波失真等参数。频谱仪利用快速傅里叶变换&#xff08;FFT&#xff09;算法&#xff0c;将采集…

复习python函数

复习python函数 1.对函数的理解函数的传递方式返回值 return可通过help()函数查看函数说明作用域 2.不定长参数3.递归4.高阶函数将函数作为参数传递将函数作为返回值返回 5.匿名函数6.装饰器 1.对函数的理解 函数可以用来保存一些可执行的代码&#xff0c;并且可以在需要时&am…

C语言—贪吃蛇(链表)超详解

目录 游戏背景 游戏展示效果 需要实现的功能 贪吃蛇地图绘制&#xff1a; 蛇吃食物的功能&#xff1a; 蛇的移动控制&#xff1a; 蛇撞墙死亡&#xff1a; 蛇撞自身死亡&#xff1a; 计算得分&#xff1a; 蛇身加速、减速&#xff1a; 暂停游戏&#xff1a; 技术要…

关注四个要点,以“韧性”助力大数据局数据安全体系化建设

近日&#xff0c;中国互联网协会数字政府发展工作委员会主办的“推进政务服务提质增效的思考与实践”主题沙龙活动在京举行&#xff0c;中央、地方政府信息化部门相关负责同志及工委会18家成员单位的业界专家和团队负责人参会。 美创科技获邀参加&#xff0c;技术专家张骥带来《…