在不想弄乱本地及其环境下该如何进行系软件的安装?

  1. 下载安装docker工具
  2. 获取该软件的docker镜像(你以后想要用各种工具,基本都能够搜索docker search nginx:版本号到合适的镜像去用),如:下载nginx镜像docker pull nginx
  3. 运行镜像,然后启动一个容器,这个nginx服务就运行在容器中 docker run -p 80:80 --name nginx -d nginx
  4. 停止容器docker stop nginx,删除该镜像docker rmi nginx,你的电脑就好像没有使用过nginx一样。就好比沙箱环境
  5. 查看下载好的docker镜像docker images,查看具体的镜像docker images nginx

一、docker镜像的获取、查看、删除

  • 获取镜像
# 查看docker镜像存储位置
[root@localhost ~]# docker info|grep Root
Docker Root Dir: /var/lib/docker
[root@localhost ~]# ls /var/lib/docker/image/overlay2/imagedb/content/sha256/ -l
总用量 32
-rw-------. 1 root root 2142 1月 3 13:28 5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6
-rw-------. 1 root root 7656 12月 29 22:36 605c77e624ddb75e6110f997c58876baa13f8754486b461117934b24a9dc3a85
-rw-------. 1 root root 7700 1月 3 11:16 7614ae9453d1d87e740a2056257a6de7135c84037c367e1fffa92ae922784631
-rw-------. 1 root root 2794 1月 3 13:24 afb6fca791e071c66276202f8efca5ce3d3dc4fb218bcddff1bc565d981ddd1e
-rw-------. 1 root root 1462 1月 3 13:22 ba6acccedd2923aee4c2acc6a23780b14ed4b8a5fa4e14e252a23b846df9b6c1
-rw-------. 1 root root 1866 1月 4 14:45 d9e50bf288963ff3a78d1decfcd1deda5acd15a0e3094c9e4b317cf8299bd465
# 打开任意文件,里面记录的是镜像和容器之间的配置关系,以json的形式存储
[root@localhost ~]# cat /var/lib/docker/image/overlay2/imagedb/content/sha256/5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6
# 查找镜像,选择点赞数最多的pull
docker search centos
# 获取镜像
docker pull centos
# 使用不同镜像生成容器
# -t 开启一个交互终端,--rm 容器退出时删除该容器,容器名后面不指定版本默认运行最新的
docker run -it --rm centos bash
# 在运行一个7.8版本的
docker run -it --rm centos:7.8.2003 bash
  • 查看镜像
# 查看全部镜像
docker images
# 查看具体镜像
docker images nginx
# 格式化显示镜像 -- format是docker的模板语言,{{}}中首字母大写其余字母小写
[root@localhost ~]# docker images --format "{{.ID}}---{{.Repository}}"
605c77e624dd---nginx
7614ae9453d1---redis
# 表格形式显示信息
[root@localhost ~]# docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
  • 删除镜像
docker rmi 镜像名/镜像id
  • 删除容器
docker rm 容器id
docker rm 指定id的前三位也行

二、镜像管理

  • 批量删除镜像慎用
docker rmi `docker images -aq`
  • 批量删除容器慎用
docker rm `docker ps -aq`
  • 导出镜像命令
docker image save centos:7.8.2003 > /opt/centos7.8.2003.tgz
  • 导入命令
docker image load -i /opt/centos7.8.2003.tgz
  • 查看docker服务的详细信息
docker info
  • 查看docker镜像的详细信息
docker image inspacet 镜像id

三、容器管理

docker run 镜像名,如果镜像不存在本地,则会在线去下载该镜像
注意:容器内进程必须处于前台运行状态,否则容器就会直接退出
  • 自己部署一个容器运行,命令不得后台运行,前台运行即可。
  • 如果容器内什么事都没做,容器也会挂掉,容器内必须有一个进程在前台运行。
我们运行基础镜像,没有运行任何程序,因此容器挂掉了
# 显示所有状态的容器
docker ps -a # 1、运行一个挂掉的容器(从错误演示开始),这个写法会产生多个独立的容器记录,且容器内没有程序在跑所以挂了。
docker run centos:7.8.2003 # 2、运行容器,且进入容器内,且在容器内执行某个命令
[root@localhost ~]# docker run -it centos:7.8.2003 sh
sh-4.2#
sh-4.2# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core) # 3、开启一个容器,让他帮你运行某个程序,属于前台运行,会卡住一个终端
[root@localhost ~]# docker run centos:7.8.2003 ping baidu.com
PING baidu.com (110.242.68.66) 56(84) bytes of data.
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=1 ttl=127 time=30.4 ms # 4、运行一个活着的容器,docker ps可以看到的容器
# -d 参数,让容器在后台运行(针对宿主机而言)
# 会返回一个容器id
# 后面是你需要执行的操作,保证当前容器不会挂掉
[root@localhost ~]#docker run -d centos:7.8.2003 ping www.baidu.com
487a71fc0d91245b93525ed45f6a5f8e8bf72c14150a2c35ad1e98bb0e905b9c # 5、丰富docker运行参数
# -d 后台运行
# --rm 容器挂掉后自动会删除,也就是停止容器后即使通过`docker ps -a`也无法查到该容器是否运行过
# --name 给容器起个名字
[root@localhost ~]# docker run -d --rm --name baidu centos:7.8.2003 ping www.baidu.com
8adc4e96dc7e374c1d8bd337719d3e9aa374d7baa155593e9164bba2c360251c # 6、查看容器日志,刷新日志
docker logs -f 容器id
# 查看最新的五条日志
docker logs 容器id | tail -5 # 7、进入正在运行的容器内部,并进行交互操作(bash)
docker exec -it 容器id bash
# 查看容器内进程
ps -ef # 8、查看容器的详细信息,用于高级调试
docker container inspect 容器id # 9、容器的端口映射
# -p 宿主机端口:容器内运行的端口
# -d 后台运行
# --name 容器名称
docker run -d --name nginx_80 -p 80:80 nginx # 9.1、查看端口的映射情况
[root@localhost ~]# docker port 容器id
80/tcp -> 0.0.0.0:80
80/tcp -> :::80 # 9.2、随机端都映射,一般不用
# -P 会随机应以一个宿主机的空闲端口
docker run -d --name nginx_random -P nginx # 10、容器的提交
# 运行基础的centos:7.8.2003,在容器内安装vim,然后提交新的镜像
# 新的镜像再运行出的容器,默认就携带vim
[root@localhost ~]# docker run -it --name cenost centos:7.8.2003 bash
[root@c2cd263e5a38 /]# vim
bash: vim: command not found
[root@c2cd263e5a38 /]# yum install vim
# 安装完成以后退出容器,查看容器id进行打包
docker ps -a
# docker commit 容器id 新的镜像名称
[root@localhost ~]# docker commit b50aa98a6cc7 cemtos-vim-7.8.2003
sha256:33380b6e852a9fd41eef03a2e43ab63755aab50b849413a72e85e374c7403be8
# 查看生成的新镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
cemtos-vim-7.8.2003 latest 33380b6e852a 4 minutes ago 452MB
# 运行新镜像,查看vim的情况,可以运行ok
[root@localhost ~]# docker run -it cemtos-vim-7.8.2003 bash
[root@4d41883b08ff /]# vim hahah.txt
[root@4d41883b08ff /]# cat hahah.txt
dao ci jieshu xiexie!!!
[root@4d41883b08ff /]# # 11、本地镜像导出、导入
# 导出镜像命令
docker image save centos:7.8.2003 > /opt/centos7.8.2003.tgz
# 导入命令
docker image load -i /opt/centos7.8.2003.tgz

所有博客仅用于自己学习记录,如有侵权请联系删除,文章来源于公开视频资料,如有需要请移步这里:

https://www.bilibili.com/video/BV1o14y1w7b8?p=12&vd_source=6a0e07382af7c460c1a03694e4d4f4c7

docker镜像的获取、查看、删除、docker镜像管理、docker容器管理的更多相关文章

  1. Docker镜像的获取与删除

    Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认镜像仓库下载(默认使用Dicker Hub公共注册服务器中的仓库),用户也可以通过配置,使用自定义的镜像仓库 ...

  2. Docker 镜像&仓库 获取及推送镜像

    docker查看.删除镜像 docker镜像存储位置: /var/lib/docker 查看docker信息也可以查看保存位置 docker info 1.列出镜像 docker images -aa ...

  3. anaconda查看删除增加镜像源

    # 查看显示原来的镜像源(base) [jiangshan@localhost ~]$ conda config --showadd_anaconda_token: Trueadd_pip_as_py ...

  4. 在docker私有仓库如何查看有哪些镜像?

    搭建了docker私有仓库,上传了一些镜像,时间长了就会忘了有哪些镜像,在网上查了,有大佬是通过脚本查看的,多厉害! #!/usr/bin/env python#-*- coding:utf-8 -* ...

  5. Docker学习(6) 获取和推送镜像

    查找镜像 拉取镜像 推送镜像 总结

  6. docker 停止、启动、删除镜像指令

    容器 docker ps // 查看所有正在运行容器 docker stop containerId // containerId 是容器的ID docker ps -a // 查看所有容器 dock ...

  7. Docker操作笔记(一)使用镜像

    使用镜像 一)获取镜像 从Docker镜像仓库获取命令的格式是: docker pull [选项] [Docker Registry 地址[:端口号]] 仓库名[:标签] 具体的选项可以通过docke ...

  8. Docker进阶-Dockerfile建立一个自定义的镜像执行自定义进程

    前言 docker对我来说是一个很方便的工具,,上一篇文章也写了docker基本的一些使用,这篇文章重点描述一下Dockerfile的使用,从零建立一个自己定制化的镜像,并可以执行我们需要的任务. 作 ...

  9. docker容器管理-含静态Ip(10)

    docker run命令详解 docker run -t #表示分配一个伪终端 -i #表示让容器的标准输入打开,不跟这个参数容器启不来 -d #后台运行 -P #dockerfile中EXPOSE ...

  10. 3、docker 容器管理

    Docker容器相对于OpenStack的云主机实例,虽然他们本质上不同.我们需要基于镜像来创建容器.容器是独立运行的一个或一组应用,以及它们的运行环境.对应的,虚拟机可以理解为模拟运行的一整套操作系 ...

随机推荐

  1. idea代码格式xml

    <code_scheme name="Default copy" version="173"> <option name="LINE ...

  2. Jmeter 常用命令 之 CLI模式

    一.Jmeter的非GUI模式命令(即CLI模式command line) 命令: 命令参数 命令释义 -n 设置命令行模式 -t 指定JMX脚本路径参数为:JMX脚本路径,若非当前目录需用全路径或相 ...

  3. PULPINO仿真建立

    PULPINO仿真建立 PULPINO主要特点: systemverilog实现 有常规外设,GPIO.SPI.I2C.UART等 有调试接口 总线有AXI,外设总线为APB,扩展性好 脚本为cmak ...

  4. RIDE,如何指定report,log,output的存放位置

    创建测试用例,执行后,report.html,log.html,output.txt 会默认存放到 C:\Users\你的用户名\AppData\Local\Temp下, 例如我的存放在 如果要指定存 ...

  5. 【剑指Offer】【树】二叉搜索树的后序遍历序列

    题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. A:在二叉树的后序遍历中,数组最后一个元素为根节点,左 ...

  6. python 链接云端数据库/远程数据库 可以使用原始Odbc

    class MySqlOdbc: def __init__(self): self.sqlhead = None # 当前数据链接句柄 self.mycursor = None # 当前游标 &quo ...

  7. webpack5的基本用法

    webpack的基本使用 webpack 本身功能有限: 开发模式: 仅能编译JS中的ES Module 语法 生产模式: 能编译ES Module 语法, 还能压缩JS代码 添加实例文件 npm i ...

  8. (app笔记)如何执行monkey命令测试稳定性

    1.monkeyMonkey 就是SDK中附带的一个工具,向系统发送伪随机的用户事件流,为了测试软件的稳定性.健壮性,验证app是否出现ANR or Crush 操作: 2. adb devices ...

  9. Centos 7 部署Kubernetes集群 (基于cri-dockerd)

    前言 基础描述 从 k8s 1.24开始,dockershim已经从kubelet中移除,但因为历史问题docker却不支持kubernetes主推的CRI(容器运行时接口)标准,所以docker不能 ...

  10. nginx通过参数代理到其他站点

    http { include mime.types; default_type application/octet-stream; resolver 8.8.8.8; ##Nginx0.6.18以后的 ...