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

  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. 01-搭建小巧完善的Kubernetes环境

    安装Docker Docker安装和基础命令 安装Minikube minkkube start 安装minikube curl -LO https://storage.googleapis.com/ ...

  2. C# 图片压缩(指定大小压缩和指定尺寸压缩)

    一按大小压缩测试代码: 一测试效果: 一主要代码: /// <summary> /// 压缩图片至200 Kb以下 /// </summary> /// <param n ...

  3. Servlet(服务连接器)

    Servlet(Server Applet):是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据 ...

  4. PO培训

    30M 的step by step.带notes  这个文档把常用的包含java都有 不止是配置,反正各种处理都有.. 各种高清无码截图,还不算附件内容

  5. Centos7 MyCat2 安装部署

    部署MyCat2 之前需要搭建好数据库的主从,详看文档:mysql 主次数据库搭建 官网:http://www.mycat.org.cn/ 官方文档: https://www.yuque.com/cc ...

  6. Deer_GF之IOS出热更包

    Hi,今天介绍一下Deer_GF_Wolong,框架基于HybridCLR热更新技术,出IOS热更包 首先我们需要准备的工作: 环境:Mac Unity 版本 2021.3.1f1c1 热更方案:Hy ...

  7. python实现Excel的表头与索引之间的转换

    字母转数字 def get_index(capital): """ 大写字母(Excel列头)转索引 :param capital: 'A' --> 0, 'AA' ...

  8. PHP 执行系统命令解压7z格式压缩包

    银行推送的账单是7z格式的压缩包,需要用程序对账单进行解压,网上关系PHP解压7z格式压缩包的资料很少 现在分享下处理过程,首先安装7-zip软件,我是在windows环境下调试的,下载地址https ...

  9. ubuntu安装cuda、cudnn和nvidia-docker

    目录 安装前的工作 要安装的cuda和cudnn版本说明 安装cuda 检查cuda的安装情况 安装cudnn 安装nvidia-docker 在红米book14上的实践 本文参考自Ubuntu18. ...

  10. linux办公

    办公环境.生产环境: centos.redhat.big cloud 1.改PS1:生产主机的主机名太长了,每次显示占半行 [root@10.0.0.11 ~]$ echo $PS1 [\u@10.0 ...