Docker基础学习

一、docker基本概念

img

docker是由google公司推出的go语言进行开发实现的,基于Linux内核,隔离的进程独立于宿主和其他的隔离进程,即成为容器。

与虚拟机的区别:

虚拟机是虚拟一套硬件后,在其上运行一个完整操作系统,会独占一部分内存。然后在该系统上再运行所需应用进程;

容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也不需要进行硬件虚拟,占用的资源少,体积小;启动容器相当于启动本机的一个进程,速度上就会快很多。

传统虚拟化
Docker

三个基本概念:

  • 镜像(image)
    可以看成是一个只读的模板,可以被重复使用多次,每个镜像都可以包含一个简易的Linux操作系统。
    镜像是用来创建容器的。镜像相当于对象中的类,而容器为实例。



  • 容器(container)
    容器是由镜像创建的运行实例,容器是由一个简易的Linux操作系统和运行在其中的应用程序组成的

  • 仓库
    集中存放镜像的场所,分为公有和私有的仓库,可以将自己的镜像push到仓库,要用的时候pull下来

二、docker的常用命令

(1)镜像

  • 查看镜像
docker images
  • 获取镜像
docker pull xxx
docker pull nginx
docker pull registry.hub.docker.com/nginx  //可以指定仓库

(2)容器

  • 查看运行中的容器
docker ps
image-20200116170420602.png

container_id: 容器的标识id, names: 容器的名称

  • 查看所有包含终止运行的容器
docker ps -a
  • 运行容器
docker run -d --rm --name myNginx -p 8080:80 nginx

使用run时,每执行一次,就会新建一个容器,如果想运行已有的,则可以改为

docker run myNginx

参数说明:(参数可选)
-d 后台运行
--rm 在容器停止运行之后自动删除容器文件
--name 设置名字,这样做的好处就是可以直接指定名字操作容器,不一定用ID
-p 映射宿主和容器内的网络,假设有8080:80,即外面使用8080端口映射内部的80端口

  • 进入容器的bash
docker exec -it myNginx bash


参数说明:
exec 当第一次使用run的时候,还未进行一些操作,就可以使用这个
-it .... bash 进入容器,可以在容器操作shell命令

  • 只执行一次容器内的shell命令
docker exec myNginx cat /etc/nginx/conf.d/default.conf


此命令为在宿主查看容器内nginx的配置文件内容

  • 将宿主的文件挂载到容器内
docker exec -v /dist:/usr/share/nginx/html/ myNginx

-v 挂载

将当前目录下的dist文件挂载到容器路径/usr/share/nginx/html/下

  • 生成容器

(1)使用Dockerfile文件创建的方式

docker build -t my:1.0.0 .

(2)使用命令

docker commit myNginx test/my:1.0.0
  • 发布镜像
    push到私有docker hub仓库
docker build -t my .
docker login(先登录) 
docker tag my username/my:1.0.0
docker push username/map:1.0.0

参考资料

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启...
    执笔梦一场阅读 8,545评论 2 10
  • 特别说明: 本人平时混迹于 B 站,不咋回复这里的评论,有问题可以到 B 站视频评论区留言找我视频地址: http...
    撸帝阅读 4,429评论 1 3
  • 什么是Docker 我的理解就是一个更轻量级的虚拟机,跟虚拟机的不同在于Docker是直接构建在HostOS上,利...
    Glitter试做一号机阅读 1,618评论 0 2
  • 1. Docker是什么? Docker是一个用来装应用的容器,就好比用书包来装书,用水杯来装水,你可以把你想到的...
    ce5154e79490阅读 4,274评论 0 0
  • 文件搜索命令 locate命令搜索命令 whereis 与 which文件搜索命令 find字符串搜索命令 gre...
    蓝山_阑珊阅读 1,904评论 0 2