docker的安装以及常用命令详解

news2024/11/26 19:35:58

目录

一、docker简介

二、docker安装

三、常用命令

1、显示 Docker 版本信息

2、显示 Docker 系统信息,包括镜像和容器数

3、帮助

四、镜像管理

1、列出镜像

2、获取一个新的镜像

3、查找镜像

4、删除镜像

5、镜像导入与导出

五、容器生命周期

1、运行容器

2、启动被停止的容器

3、停止运行中的容器

4、重启容器

5、杀掉运行中的容器

6、删除容器

7、暂停容器中所有进程

8、启动容器中所有进程

9、运行的容器中执行命令

10、删除所有停止状态的容器

六、容器操作

1、列出容器

2、获取容器/镜像的元数据

3、获取容器的日志

4、查看容器的端口映射情况

5、容器改名

七、rootfs命令

1、容器中创建一个新的镜像

2、容器与主机之间数据拷贝

3、检查容器中文件结构的更改

八、镜像仓库

1、登陆到Docker镜像仓库

2、登出Docker镜像仓库

3、从镜像仓库拉取镜像

4、将镜像上传到镜像仓库

5、从Docker Hub查找镜像


一、docker简介

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

二、docker安装

访问官网,选择相应的操作系统进行安装即可

对于macOS 我们可以使用 Homebrew 来安装 Docker。

Homebrew 的 Cask 已经支持 Docker for Mac,因此可以很方便的使用 Homebrew Cask 来进行安装:

$ brew install --cask --appdir=/Applications docker

==> Creating Caskroom at /usr/local/Caskroom
==> We'll set permissions properly so we won't need sudo in the future
Password:          # 输入 macOS 密码
==> Satisfying dependencies
==> Downloading https://download.docker.com/mac/stable/21090/Docker.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask docker
==> Installing Cask docker
==> Moving App 'Docker.app' to '/Applications/Docker.app'.
🍺  docker was successfully installed!

在载入 Docker app 后,点击 Next,可能会询问你的 macOS 登陆密码,你输入即可。之后会弹出一个 Docker 运行的提示窗口,状态栏上也有有个小鲸鱼的图标(

三、常用命令

  • Docker环境信息 — docker [info|version]
  • 容器生命周期管理 — docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause]
  • 容器操作运维 — docker [ps|inspect|top|attach|wait|export|port|rename|stat]
  • 容器rootfs命令 — docker [commit|cp|diff]
  • 镜像仓库 — docker [login|pull|push|search]
  • 本地镜像管理 — docker [build|images|rmi|tag|save|import|load]
  • 容器资源管理 — docker [volume|network]
  • 系统日志信息 — docker [events|history|logs]

1、显示 Docker 版本信息

docker version  

2、显示 Docker 系统信息,包括镜像和容器数

docker info 

3、帮助

docker --help

四、镜像管理

1、列出镜像

docker images

2、获取一个新的镜像

docker pull nginx:1.18.0

3、查找镜像

我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/

我们也可以使用 docker search 命令来搜索镜像。比如我们需要一个 httpd 的镜像来作为我们的 web 服务。我们可以通过 docker search 命令搜索 httpd 来寻找适合我们的镜像。

docker search httpd

4、删除镜像

docker image rm 镜像名标签或者ID
docker rmi 镜像名标签或者ID
docker rmi -f 镜像名标签或者ID     #强制删除

5、镜像导入与导出

方法一:
docker save image:tag > xxx.tar                   # save导出.tar
docker load < xxx.tar                             # load导入镜像
方法二:
docker export image > xxx.tar                     # export导出成.tar
cat xxx.tar | sudo docker import - image:tag      # import导入镜像

注:两种方法不可混用

五、容器生命周期

1、运行容器

docker run -it nginx:latest sh
# -d: 后台运行容器    -i:以交互模式运行容器    -t:为容器重新分配一个伪输入终端   -it常一起使用
# -p: 指定端口映射,格式为:主机(宿主)端口:容器端口    --name="nginx-lb":为容器指定一个名称
# -v: 挂载目录    -e username="ritchie":设置环境变量    -env-file=[]:从指定文件读入环境变量  

2、启动被停止的容器

docker start 容器名或ID

3、停止运行中的容器

docker stop 容器名或ID

4、重启容器

docker restart 容器名或ID

5、杀掉运行中的容器

docker kill -s KILL 容器名或者ID

6、删除容器

docker rm 容器名或ID

7、暂停容器中所有进程

暂停数据库容器db01提供服务:   docker pause db01

8、启动容器中所有进程

恢复数据库容器db01提供服务:   docker unpause db01

9、运行的容器中执行命令

docker exec -it 容器名或ID sh
# -d:分离模式,在后台运行     -i:即使没有附加也保持打开     -t:分配一个伪终端

10、删除所有停止状态的容器

docker rm `docker ps -a|grep Exited|awk '{print $1}'`

六、容器操作

1、列出容器

docker ps   # 参数 -a:显示所有的容器    -f:根据条件过滤显示    -l:显示最近创建的容器  
            # 参数  -q:静默模式,只显示容器编号     -s:显示总的文件大小。

2、获取容器/镜像的元数据

docker inspect 容器名或ID | grep IPAddress   显示容器的IP

3、获取容器的日志

docker logs  # 参数: -f:跟踪日志输出  --since:显示某个开始时间的所有日志  -t:显示时间戳  --tail:仅列出最新N条容器日志

4、查看容器的端口映射情况

docker port 容器名或ID

5、容器改名

docker rename  旧容器名  新容器名

七、rootfs命令

1、容器中创建一个新的镜像

docker commit -a "作者" -m "说明文字" 容器名或ID 镜像名:标签

2、容器与主机之间数据拷贝

docker cp /datadir xxx:/datapath     # 主机/datadir目录拷贝到容器xxx中,目录重命名为/datapath

3、检查容器中文件结构的更改

docker diff mymysql                  # 查看容器mymysql的文件结构更改

八、镜像仓库

1、登陆到Docker镜像仓库

docker login -u 用户名 -p 密码  # 登陆到Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库Docker Hub

2、登出Docker镜像仓库

docker logout  # 登出Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

3、从镜像仓库拉取镜像

docker pull java:latest    # 拉去镜像库最新的java镜像

4、将镜像上传到镜像仓库

docker push java:latest    # 上传本地镜像java:latest到镜像仓库中

5、从Docker Hub查找镜像

docker search 
参数:     --automated:只列出 automated build类型的镜像  
          --no-trunc :显示完整的镜像描述  
          -s :列出收藏数不小于指定值的镜像。

例1:使用docker安装并启动nginx

docker run -d --name nginx -p 80:80 -v /root/nginx/html:/usr/share/nginx/html nginx:1.18.0

例2:安装并运行Jenkins

chenshifengdeMacBook-Pro:~ chenshifeng$ docker volume create jenkins_shifeng
jenkins_shifeng
chenshifengdeMacBook-Pro:~ chenshifeng$ docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v jenkins_shifeng:/var/jenkins_home jenkins/jenkins:lts

例3:安装testlink

创建容器网络:

docker network create testlink

运行数据库:

docker run -d  --name mariadb -e MARIADB_ROOT_PASSWORD=mariadb -e MARIADB_USER=bn_testlink -e MARIADB_PASSWORD=bn_testlink -e MARIADB_DATABASE=bitnami_testlink --net testlink -v ${PWD}/mariadb:/bitnami bitnami/mariadb:10.3.22

运行testlink

docker run -d -p 80:80 -p 443:443 --name testlink -e TESTLINK_DATABASE_USER=bn_testlink -e TESTLINK_DATABASE_PASSWORD=bn_testlink -e TESTLINK_DATABASE_NAME=bitnami_testlink --net testlink -v ${PWD}/testlink:/bitnami bitnami/testlink:1.9.20

默认用户名:user,默认密码:bitnami

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

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

相关文章

Bring Your Data!Self- supervised Evolution of Large Language Models

Bring Your Data&#xff01;Self- supervised Evolution of Large Language Models IntroductionMethod参考 Introduction 这篇论文提出了一种自监督的评估方式来衡量大型语言模型的能力和局限性。常规的基于数据集的评估方式存在一些缺点: 需要不断新建数据集。存在数据集和…

外包软件定制开发中时间和进度管理

引言 时间和进度管理是外包软件定制开发项目中至关重要的方面。有效地管理时间和进度可以确保项目按计划顺利进行&#xff0c;减少延误和风险&#xff0c;从而提高交付的可靠性和质量。然而&#xff0c;由于外包团队和客户位于不同的地理位置和时区&#xff0c;时间和进度管理…

[MySQL]MySQL索引

[MySQL]MySQL索引 文章目录 [MySQL]MySQL索引1. 索引的概念2. 认识磁盘磁盘的内部结构磁盘中的一个盘片结构定位扇区磁盘随机访问与连续访问 3. MySQL与磁盘交互的基本单位4. 建立共识5. 索引的理解创建测试表进行测试理解单个page理解多个page页目录其他的数据结构的问题聚簇索…

ModaHub魔搭社区:AI原生云向量数据库Zilliz Cloud角色与权限

目录 组织和项目 角色和权限 访问权限等级 文档推荐 Zilliz Cloud 提供访问控制。您可以灵活管理用户,为用户分配不同角色,授予用户不同的集群资源访问和操作权限。无权限的用户无法访问特定资源。 组织和项目 Zilliz Cloud 通过组织和项目实现访问控制和资源分离。 …

PostgreSQL数据库的部署与优化

文章目录 一.PostgreSQL数据库1.PostgreSQL数据库的概念1.1 PostgreSQL 的核心概念 2.PostgreSQL特点3.PostgreSQL的作用4.PostgreSQL的应用场景5.PostgreSQL、mysql、oracle的对比 二.Linux系统安装PostgresSQL&#xff08;Centos7&#xff09;1.更新yun源2.安装PostgreSQL2.1…

【消息队列设计总结】RabbitMQ、Kafka、RocketMQ对比之运行架构

目录 1 RabbitMQ 1.1 工作原理 1.2 名词解释 1.3 交换机的几种类型 2 Kafka 2.1 工作原理 2.2 基本概念 3 RocketMQ 3.1 工作原理 3.2 基本概念 4 RabbitMQ & Kafka & RocketMQ的差异 5 参考文档 1 RabbitMQ 1.1 工作原理 1.【消息生产】生产者&#xff0…

润本股份提交注册:拟募资约9亿元,赵贵钦、鲍松娟夫妇为实控人

撰稿|汤汤 来源|贝多财经 近日&#xff0c;润本生物技术股份有限公司&#xff08;下称“润本股份”&#xff09;在上海证券交易所递交招股书&#xff08;注册稿&#xff09;。据贝多财经了解&#xff0c;润本股份于2023年3月递交上市申请材料&#xff0c;准备在上海证券交易所…

MySQL-DDL-表的结构-查询修改删除

DDL&#xff08;表操作&#xff09; 查询 查询当前数据库所有表&#xff1a;show tables 查询表结构&#xff1a;desc 表名 查询建表语句&#xff1a;show create table 表名 修改&#xff08;主要还是通过图形化界面进行操作&#xff09; 添加字段&#xff1a;alter table …

王道考研数据结构第六章知识点总结

6.1.1图的基本概念 顶点集一定是非空集&#xff0c;边集可以是空集 非连通图&#xff1a;让任意n-1个顶点之间两两相连&#xff0c;另一个顶点与任意一个都不存在路径&#xff0c;则为非连通图的最大边数。 注意长三角地区铁路网不属于连通分量&#xff0c;因为它没有包含尽可能…

简单认识MySQL数据库索引

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、索引的概念1、简介2、作用3、索引的副作用&#xff1a;4、创建索引的原则依据5、索引的分类 二、索引的增删改查1.创建索引&#xff08;1&#xff09;创建普通索…

ios 通过xib自定义控件

通过xib自定义控件 xib和stroyboayd对比 共同点&#xff1a; 都是用来描述软件界面 都是用interface Builder工具来编辑 本质都是转换成代码去创建控件 不同点&#xff1a; xib是轻量级的&#xff0c;用来描述局部ui界面 创建模型文件 XMGCar 自定义控件 xib 图形设计 …

zookeeper和kafka与EFLFK集群

zookeeper和kafka 一&#xff1a;Zookeeper 概述1.Zookeeper 定义2.Zookeeper 工作机制3.Zookeeper 特点4.Zookeeper 数据结构5.Zookeeper 应用场景6.Zookeeper 选举机制6.1.第一次启动选举机制6.2.非第一次启动选举机制&#xff08;1&#xff09;当ZooKeeper 集群中的一台服务…

支持向量机(SVM)的超参数调整 C 和 Gamma 参数

作者:CSDN @ _养乐多_ 支持向量机(Support Vector Machine,SVM)是一种广泛应用的监督式机器学习算法。它主要用于分类任务,但也适用于回归任务。在本文中,我们将深入探讨支持向量机的两个重要参数:C和gamma。在阅读本文前,我假设您对该算法有基本的了解,并专注于这些…

【MySQL】MySQL在Centos7环境下安装

目录 一、卸载不要的环境 1.1、查看是否有安装mysql 1.2、关闭运行的程序 1.3、卸载安装 二、配置yum 源 2.1、下载yum 源 2.2 安装yum源 2.3 查看是否已经生效 三、安装mysql服务 四、启动服务 五、登录方法 方法一&#xff08;不行就下一个&#xff09; 方法二&#xff08;不…

前端必看的书籍

十本学习前端必看书籍 第一本&#xff0c;入门 《Head first HTML&CSS》 最好的入门书。看两遍就对HTML & CSS 有个大概印象了。 此时把w3cschool作为备查手册收藏起来 第二本《CSS权威指南(第三版)》 最权威的CSS书籍&#xff0c;除了阅读W3C的文档外的不二选择(就是翻…

HDFS体系结构及基本概念

1、hdfs体系结构及基本概念 1.1 namenode是什么,作用是什么 Namenode维护了很多得信息,那么这么多信息存放在哪里呢?在hadoop中有个core-site.xml的文件 路径是 [root@cdp3 hadoop]# pwd /home/hadoop/hadoop-2.2.0/etc/hadoop 1.2 datanode是什么,作用是什么 data…

Kubernetes对象深入学习之三:对象属性

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 本篇概览 本文是《Kubernetes对象深入学习》系列的第三篇&#xff0c;主要内容是关于对象属性的知识点&#xff0c;关于对象属性&#xff0c;先通过一个具体…

vue3-03筛选任务

前置知识&#xff1a;生命周期函数在vue3不再是配置式的&#xff0c;而是一个普通函数。 步骤&#xff1a; 确认筛选条件是通过hash值声明filter函数&#xff1a;通过hash改变的筛选得到对应的任务列表userFilter.js文件&#xff1a;用于任务的筛选。 使用一个响应式变量visib…

copy和xcopy实现复制文件和文件目录

copy命令复制文件 语法 copy [/d] [/v] [/n] [/y | /-y] [/z] [/a | /b] <source> [/a | /b] [<source> [/a | /b] [ ...]] [<destination> [/a | /b]]参数说明 参数说明/d允许加密的源文件保存为解密的目标文件/v验证目标文件是否正确写入/n如果需要&…

kubesphere的CICD

安装 SonarQube 服务器 请先安装 Helm&#xff0c;以便后续使用该工具安装 SonarQube。例如&#xff0c;运行以下命令安装 Helm 3&#xff1a; curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash查看 Helm 版本 helm versionversion.Buil…