docker 镜像,容器 ,数据卷的安装和使用

一、了解docker


    docker 是一个软件,运行在操作系统上
    docker里运行很多的容器 container,一个容器里跑(运行)一个程序(app)
    docker是容器的管理程序
    docker也是一个虚拟化软件,里面的虚拟机是container 容器

    容器
    一个容器相当于一个虚拟机,里面会运行一个微型的操作系统和程序代码是一个容器平台      其实本质上是一个进程,进程里跑一个应用。
    所有的容器都是使用相同的操作系统,相同的底层硬件

图 1-1

 

 docker和虚拟机的区别

docker的优势:

启动速度块 资源消耗小 资源可以控制 扩展方便

docker缺点:

app的隔离这块,没有虚拟机彻底  层次不一样 -->虚拟机多一层封装

 

二、安装docker

官方安装文档https://docs.docker.com/engine/install/centos/

三、镜像

镜像(image):

镜像是打包好的软件,程序代码、基础系统、依赖关系的软件包、系统库、工具等都是需要人去制作

命令

docker images 查看你的docker里有那些镜像

docker rmi mysql:latest   (docker rmi  删除镜像命令) (mysql:latest  mysql镜像:版本)

docker search nginx      查看镜像 有哪些版本

docker pull nginx        下载镜像

 四、容器

容器(container):
运行镜像的地方,背后就是起到一个进程来运行这个镜像

命令

docker ps 查看启动的docker容器  -a  查看所以的(包括没有运行的)

 docker network inspect bridge     查看bridge桥接网络的详细

docker network ls         查看本机docker里的网络类型

docker run -d -p 80:80 --name sc_nginx nginx

docker run(等于docker create + docker start) 创建容器     -d 后台运行

-p 80:80 端口映射    --name sc_nginx 容器名      nginx  调用的镜像

docker stop sc_nginx   停止容器

docker  start sc_nginx  启动容器

docker rm sc_nginx3   删除容器

docker exec -it sc_nginx2 /bin/bash

docker exec 进入容器    -it 交互式方式进入容器开启一个终端

sc_nginx2   容器名       /bin/bash  进入容器执行的程序

docker service create  创建一个服务

docker  logs   查看容器启动的过程中的日志  排错使用

docker top 查看容器内部的进程

 五、容器的数据保存问题-数据持久化

1.正常停止容器,容器里的数据会丢失吗?

不会丢失,会保存  /var/lib/docker/volumes/ 存放数据文件夹

2、数据卷

实现容器和宿主机之间共享数据的,方便备份恢复,一台机器上的容器和宿主机之间的数据共享

如果是多台机器,背后需要使用nfs、NAS、SAN、云存储等网络存储解决

图2-1

 

 

 三种不同的语法去使用卷

使用卷:  容器去使用卷

docker run -d \
  --name fan-nginx-1 \
  --mount source=sc,target=/usr/share/nginx/html  \
  -p 7790:80 \
  nginx:latest


  [root@sc-docker _data]# docker run -d   --name fan-nginx-1   --mount source=sc,target=/usr/share/nginx/html -p 7790:80   nginx:latest
ed4d7192e658d9f327ebee8bcdaaedb36f78dffe0c5666d32b7b3c831343fbaa
[root@sc-docker _data]#
docker run -d   --name wangll-nginx-1   --mount source=sc,target=/usr/share/nginx/html -p 7791:80   nginx:latest


docker run -d \
  --name xuzz-3 \
  -v sc:/usr/share/nginx/html \
  nginx:latest

  docker run -d --name xuzz-2 -p 7789:80 -v /sc-web/:/usr/share/nginx/html/ nginx

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值