当前位置: 首页 > news >正文

docker基础命令

目录

1、docker拉取镜像

2、查看镜像

3、运行镜像

4、查看容器

5、停止、启动、容器和删除容器

6、进入容器

7、删除镜像

8、保存镜像

9、加载镜像

10、镜像标签

11、制作镜像

​12、镜像上传


1、docker拉取镜像

docker pull  用户名/镜像名:tag不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本#如果用户名不存在,则拉取的是docker官方的镜像,否则为指定用户制作的镜像

拉取镜像前最好能docker官方仓库中去查询下镜像

官网镜像库区地址:

Docker Hub Container Image Library | App Containerization

上图第一个是docker官方制作的nginx镜像,通过docker pull nginx拉取.

第二个是非docker官方制作的镜像,通过docker pull nginx/nginx-ingress,表示,是nginx用户创建的镜像nginx-ingress。

2、查看镜像

docker images

3、运行镜像

docker run 镜像名
docker run 镜像名:Tag
docker run -it -d --name 要取的别名 -p: 镜像名:Tag /bin/bash 
docker run -dit --privileged -p80:80 -p10250:8080 -p30000-30010:30000-30010 --name nginx-test1 bitnami/nginx:latest docker run 表示运行一个镜像
-dit 是 -d -i -t 的缩写。 -d ,表示 detach,即在后台运行。 -i 表示提供交互接口,这样才可以通过 docker 和 跑起来的操作系统交互。 -t 表示提供一个 tty (伪终端),与 -i 配合就可以通过 ssh 工具连接到 这个容器里面去了
--privileged 启动容器的时候,把权限带进去。 这样才可以在容器里进行完整的操作
-p80:80 第一个80,表示在宿主机上开放21端口。 第二个80 表示在容器里开放80端口。 这样当访问CentOS 的80端口的时候,就会间接地访问到容器里了
-p10250:8080 和 80一个道理
-p30000-30010 和80也是一个道理
--name nginx-test1 给容器取了个名字,叫做 nginx-test1
bitnami/nginx:latest就是镜像的名称, latest是版本号,即最新版本

4、查看容器

#查看所有的容器,包含停止和运行中的容器
docker ps -a  
#只查看运行中的容器
docker ps 

5、停止、启动、容器和删除容器

#停止、启动容器,可通过容器名或容器id停止,可通过docker ps 查看
docker stop CONTAINER ID或NAMES
docker start CONTAINER ID或NAMES#删除容器(只能删除停止的容器,如未停止,需要先停止容器)
docker rm CONTAINER ID或NAMES##如果想强制删除容器(可以删除运行中的容器)docker rm -f CONTAINER ID或NAMES

6、进入容器

#进入容器
docker exec -it 容器名/容器ID /bin/bash#进入 前面的 redisText 容器   
docker exec -it nginx /bin/bash

7、删除镜像

docker rmi 镜像名或镜像id   

8、保存镜像

docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字docker save bitnami/nginx:latest  -o /tmp/nginx.tar

9、加载镜像

docker load -i 镜像保存文件位置例如:docker load -i /tmp/nginx.tar

docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]#在原有镜像的基础上,再叠加上容器的存储层,并构成新的镜像。

10、镜像标签

在工作中有开发环境、测试环境、生产环境以及版本迭代,就可以利用标签来进行区分
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]docker tag 源镜像名:TAG 想要生成新的镜像名:新的TAG# 如果省略TAG 则会为镜像默认打上latest TAG
docker tag wait59/centos7.8:v1 changqing263/centos7.8:v1

11、制作镜像

#保存当前正在运行的容器,将其制作为新镜像docker   commit -m="描述信息" -a="作者" 容器id或容器名 目标镜像名: [TAG]

12、镜像上传

#推送到docker的公共仓库
登录镜像仓库
docker login my.private.registry.com
#如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker logout : 登出#使用令牌登录
docker login -u username -p password_or_token my.private.registry.com#上传镜像到仓库
docker push 用户名/镜像名
例如: docker push changqing263/nginx:v2,会将本地的changqing263/nginx:v2镜像上传到docker hub官网的个人仓库中。

如上传docker官网,,可通过如下解决docker官网无法上传和下载镜像的问题:

https://blog.csdn.net/qq_38719003/article/details/143085935?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-143085935-blog-128650604.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-143085935-blog-128650604.235%5Ev43%5Econtrol&utm_relevant_index=6


http://www.mrgr.cn/news/77855.html

相关文章:

  • 【UE5】使用基元数据对材质传参,从而避免新建材质实例
  • 新160个crackme - 100-E-crackme
  • 二级等保要求及设备有哪些?
  • 27、js中声明变量
  • JavaWeb后端开发知识储备2
  • 日常开发记录-正确的prop传参,reduce搭配promise的使用
  • 【C++知识总结2】C++里面的小配角cout和cin
  • #Verilog HDL# Verilog中的generate用法集锦
  • 【线程】Java多线程编程
  • 瑞佑液晶控制芯片RA6807系列介绍 (三)软件代码详解 Part.10(让PNG图片动起来)完结篇
  • MySQL学习/复习10视图/用户/权限/语言连接数据库
  • Vue实训---3-element plus的使用与布局
  • 深入解读:2023华为流程体系及落地实施
  • 【Bluedroid】A2DP SINK播放流程源码分析
  • BERT解析
  • 鸿蒙进阶-状态管理之@Prop@Link
  • 【老白学 Java】Warship v2.0(三)
  • 增量预训练(Pretrain)样本拼接篇
  • Gate学习(6) 指令学习3
  • WPF异步UI交互功能的实现方法
  • cangjie (仓颉) vscode环境搭建
  • .NET9 - 新功能体验(二)
  • 使用bcc/memleak定位C/C++应用的内存泄露问题
  • #Verilog HDL# 谈谈代码中如何跨层次引用
  • 下载安装Android Studio
  • #Verilog HDL# Verilog中的ifdef/ifndef/else等用法