docker的安装配置与基本简单命令

目录

1.docker简介 

2.docker安装 

2.1使用root用户登陆 更新yum源

2.2安装依赖 

2.3设置yum源 更新yum源索引 

2.4安装docker 

2.5启动并且设置开机自启动 

2.6验证安装是否成功 

2.7配置docker加速器 

2.8重启docker服务

3.docker简单使用 

3.1下载镜像 

3.2列出镜像 

3.3删除本地镜像 

3.4列出镜像 

3.5停止容器

3.6删除容器

3.7强制停止容器

3.8容器与宿主机相互复制文件

3.9挂载文件 

3.10查看容器的卷绑定(volume binds)情况


1.docker简介 

Docker是一个开源的容器化平台,可以帮助开发者将应用程序和其依赖的环境打包成一个可移植、可部署的容器。Docker的主要目标是通过容器化技术实现应用程序的快速部署、可移植性和可扩展性,从而简化应用程序的开发、测试和部署过程。

容器化是一种虚拟化技术,它通过在操作系统层面隔离应用程序和其依赖的运行环境,使得应用程序可以在一个独立的、封e闭的环境中运行,而不受底层操作系统和硬件的影响。与传统的虚拟机相比,容器化具有以下优势:

  • 轻量级: 容器与宿主机共享操作系统内核,因此容器本身非常轻量级,启动和停止速度快,资源占用少。
  • 可移植性: 容器可以在任何支持相应容器运行时的系统上运行,无需关注底层操作系统的差异,提供了高度的可移植性。
  • 快速部署: 容器化应用程序可以通过简单的操作进行打包、分发和部署,减少了部署过程的复杂性和时间成本。
  • 弹性扩展: 可以根据应用程序的需求快速创建、启动和停止容器实例,实现应用程序的弹性扩展和负载均衡。
  • 环境隔离: 每个容器都具有独立的运行环境,容器之间相互隔离,不会相互干扰,提供了更好的安全性和稳定性。




     

2.docker安装 

2.1使用root用户登陆 更新yum源

yum -y update 

2.2安装依赖 

yum install -y yum-utils

2.3设置yum源 更新yum源索引 

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum makecache fast 

2.4安装docker 

yum install -y docker-ce

2.5启动并且设置开机自启动 

systemctl start docker && systemctl enable docker

2.6验证安装是否成功 


docker version




 

2.7配置docker加速器 

cd /etc/docker

查看有没有 daemon.json。没有的话创建一个并进行配置写入以下内容 
 

{"registry-mirrors": ["https://ginger20240704.asia","https://dockerpull.com"]
}

2.8重启docker服务

systemctl daemon-reload systemctl restart docker

3.docker简单使用 


 

3.1下载镜像 

docker pull java


 

3.2列出镜像 



以上列表含义如下

- REPOSITORY:镜像所属仓库名称。

- TAG:镜像标签。默认是 latest,表示最新。

- IMAGE ID:镜像 ID,表示镜像唯一标识。

- CREATED:镜像创建时间。

- SIZE: 镜像大小。

 

3.3删除本地镜像 

docker rmi halohub/halo:latest 

3.4列出镜像 

docker ps  

3.5停止容器
 

使用 docker stop命令,即可停止容器

docker stop f0b1c8ab3633

其中f0b1c8ab3633是容器 ID,当然也可使用 docker stop容器名称来停止指定容器

 

3.6删除容器

使用 docker rm命令即可删除指定容器

docker rm f0b1c8ab3633

3.7强制停止容器

可使用 docker kill命令发送 SIGKILL信号来强制停止容器

docker kill f0b1c8ab3633

3.8容器与宿主机相互复制文件

  • 从容器里面拷文件到宿主机:

docker cp 容器id:要拷贝的文件在容器里面的路径 宿主机的相应路径 如:
docker cp 7aa5dc458f9d:/etc/nginx/nginx.conf /mydata/nginx

docker cp 7aa5dc458f9d:/etc/nginx/nginx.conf /mydata/nginx


 

  • 从宿主机拷文件到容器里面:

docker cp 要拷贝的宿主机文件路径 容器id:要拷贝到容器里面对应的路径


 

3.9挂载文件 

docker run -d -p 9958:80 -v /app/docker/test/code/index.html:/usr/share/nginx/html/index.html --name nginx_data_vol_v1 nginx:1.22.0-alpine

 
 

3.10查看容器的卷绑定(volume binds)情况

docker inspect nginx_volume_dir | jq .[0].HostConfig.Binds

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

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

相关文章

第72期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

Fx-LMS 单片机

功能:主动降噪控制器 开发板连接麦克风,通过ADC或其他方式采集声音信号。采集到的声音信号经过开发板内置的Fx-LIIS主动降噪算法处理,生成反向声波信号,并通过DAC输出至扬声器进行播放。通过反向声波与原声波叠加,达到…

web前端3D旋转相册(附完整代码)

效果图 当鼠标移动到目标时&#xff0c;外层的图片会张开&#xff0c;外面的图片修改透明度为0.5达到想要的效果。 完整代码 HTML部分 这里用的是绝对路径&#xff0c;一般建议使用相对路径&#xff08;..代表上一级&#xff0c;.代表当前文件夹&#xff09; <!DOCTYPE …

新老项目不同node版本,使用nvm控制node版本切换(mac、window)

window系统电脑的链接&#xff1a;https://blog.csdn.net/qq_40269801/article/details/136450961 以下是mac版本的操作方式&#xff1a; 1、打开终端 克隆 NVM 仓库&#xff1a; git clone https://github.com/nvm-sh/nvm.git ~/.nvm 2、运行安装脚本&#xff1a; cd ~/.n…

2024双11买什么东西比较好?2024年双十一必买清单大全!

2024年双十一到底哪些东西值得入手&#xff1f;今天总结了超全双十一值得入手的单品汇总&#xff01;随着一年一度的双十一购物狂欢节临近&#xff0c;各大电商平台纷纷推出各种促销活动&#xff0c;吸引了无数消费者的关注。在这场全民参与的购物盛宴中&#xff0c;如何在众多…

vi —— 终端中的编辑器

目标 vi 简介打开和新建文件三种工作模式常用命令分屏命令常用命令速查图 01. vi 简介 1.1 学习 vi 的目的 在工作中&#xff0c;要对 服务器 上的文件进行 简单 的修改&#xff0c;可以使用 ssh 远程登录到服务器上&#xff0c;并且使用 vi 进行快速的编辑即可常见需要修改…

安装fpm,解决*.deb=> *.rpm

要从生成 .deb 包转换为 .rpm 包&#xff0c;可以按照以下步骤修改打包脚本 1. 使用 fpm 工具 fpm 是一个强大的跨平台打包工具&#xff0c;可以将 .deb 包重新打包成 .rpm&#xff0c;也可以直接从源文件打包成 .rpm。 安装 fpm sudo apt-get install ruby-dev sudo gem in…

web文件包含include

php伪协议 在 PHP 中&#xff0c;伪协议&#xff08;Pseudo Protocols&#xff09; 也被称为 流包装器&#xff0c;这些伪协议以 php:// 开头&#xff0c;后面跟着一些参数&#xff0c;用于指定 要执行的操作 或 需要访问的资源。 伪协议表明这些协议并不是一个 真实的外部协议…

QChart中柱形图的简单使用并实现【Qt】

预备工作 如果qt没下载去下载一个&#xff0c;下载太慢了可以试试它[点击跳转]  (https://blog.csdn.net/qq_19319481/article/details/131655379)。   如果已经下载了qt发现自己的组件中没有QCharts&#xff0c;可以去试试它点击跳转。 都搞定了以后在pro文件里面添加QT …

视频点播系统扩展示例

更多的前端页面&#xff08;如视频详情页、用户注册页等&#xff09;。更复杂的业务逻辑&#xff08;如视频评论、搜索功能等&#xff09;。安全性和权限管理&#xff08;如用户角色管理、权限控制等&#xff09;。其他技术细节&#xff08;如文件上传、分页查询等&#xff09;…

KVM虚拟机迁移:无缝迁徙,重塑云上未来

作者简介&#xff1a;我是团团儿&#xff0c;是一名专注于云计算领域的专业创作者&#xff0c;感谢大家的关注 座右铭&#xff1a; 云端筑梦&#xff0c;数据为翼&#xff0c;探索无限可能&#xff0c;引领云计算新纪元 个人主页&#xff1a;团儿.-CSDN博客 目录 前言&#…

继续开始更新AI学习笔记——RAG技术

RAG技术&#xff1a; 1&#xff0c;读取文章&#xff0c;获得内容 2&#xff0c;分段成为chunks 3&#xff0c;向量化&#xff0c;形成向量数据库 4&#xff0c;用户问题&#xff0c;同样向量化 5&#xff0c;在向量库内部进行检索 6&#xff0c;检索获得有效文档&#x…

使用Netty实现一个简单的聊天服务器

✅作者简介&#xff1a;热爱Java后端开发的一名学习者&#xff0c;大家可以跟我一起讨论各种问题喔。 &#x1f34e;个人主页&#xff1a;Hhzzy99 &#x1f34a;个人信条&#xff1a;坚持就是胜利&#xff01; &#x1f49e;当前专栏&#xff1a;Netty &#x1f96d;本文内容&a…

链栈的基本操作实现

链栈的结构体定义 /*定义*/ typedef struct stacklnode{char data;struct stacklnode *next; }stacklnode,*linkstack; 初始化 /*初始化*/ void f1(linkstack *q){*qNULL; } 入栈 /*入栈*/ void f2(linkstack *q,char e ){linkstack p(linkstack)malloc(sizeof(stacklno…

c语言-常量和变量

文章目录 一、常量是什么&#xff1f;&#xff08;1&#xff09;整型常量&#xff1a;&#xff08;2&#xff09;实型常量&#xff1a;&#xff08;3&#xff09;字符常量&#xff1a;&#xff08;4&#xff09;字符串常量&#xff08;5&#xff09;地址常量 二、define 和 con…

UI设计软件全景:13款工具助力创意实现

选择恰当的UI设计工具对于创建美观且用户体验良好的应用程序界面至关重要。不同的APP功能可能需要不同的界面设计软件&#xff0c;但并非所有工具都需要精通&#xff0c;熟练掌握几个常用的就足够了。以下是13款APP界面设计软件&#xff0c;它们能够为你的团队提供绘制APP界面所…

mysql 8.0.39 Caused by: java.sql.SQLException: Illegal mix of collations 异常解决

java服务可以正常启动&#xff0c;页面发现查询报错Illegal mix of collations 报错信息&#xff1a; ### Cause: java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb4_0900_ai_ci,COERCIBLE) for operation ; uncategorized SQ…

C++友元类的分文件编写

在学习C的关于友元类的知识时&#xff0c;网课例程中是在main函数文件中编写实现&#xff0c;但是我们知道&#xff0c;一般情况下&#xff0c;类以及类的成员函数实现都是在不同文件中实现的&#xff0c;因此&#xff0c;我们会自然的想到友元类是如何在不同文件下编写实现的&…

vue2与vue3生命周期差异整理

1、vue3 与 vue2 生命周期对比 生命周期整体分为四个阶段&#xff0c;分别是&#xff1a;创建、挂载、更新、销毁&#xff0c;每个阶段都有两个钩子&#xff0c;一前一后。 生命周期Vue 2Vue 3说明创建阶段beforeCreatesetup开始创建组件之前,实例被创建&#xff0c;还没有初…

c语言之在结构体里面定义函数指针

还是在看redis3.0源码的时候&#xff0c;遇到如下问题&#xff1a; 这个时候我们回到list这个结构体的设计上面 首先我们必须要注意的是函数名字就可以看成指针地址。 所以下面我们写一个简单的实例看一下具体的用法&#xff1a; #include <stdio.h> #include <stdl…