Docker 的介绍及常用操作命令

前言

学习一门新的技术,一定要学会带着两个问题去学。第一个问题:xx是什么;第二个问题:xx用来干什么。当你可以回答这两个问题的时候,说明你已经对这门技术有了一定的了解,相反,如果你学习了一门技术,却无法回答这两个问题,说明你还没有理解这门技术。
下面我将会围绕这两个问题并结合自己的理解,用最通俗易懂的话帮助你来认识docker。

初识docker

docker是什么?

简单的回答就是:docker是容器引擎的一种。这句话里有两个关键字:容器引擎、一种。想要理解这句话,必须了解这两个关键词。‘一种’很好理解,说明容器引擎很多,docker只是其中之一。

docker用来干什么?

Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交
付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。
在工作中用起来真的很方便,现在Docker使用越来越广泛了,大多数公司都会使用。掌握Docker的基本操作还是非常有用的。

docker三个基本概念:

1、image(镜像)
docker的镜像可以理解为虚拟机里的镜像,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。比如说 ubuntu就是一个镜像,和虚拟机里的镜像是一样的,从docker官网拉取的Ubuntu是非常纯净的,只有Ubuntu和核心,只有几十兆大小。
2、Container(容器)
docker容器是由Docker镜像创建的运行实例,类似VM虚拟机,支持启动,停止,删除等。
每个容器间是相互隔离的,容器中会运行特定的应用,包含特定应用的代码及所需的依赖文件。
还是用Ubuntu举例,把 pull 下来的Ubuntu镜像 run 起来,只需运行 docker run ubuntu ,此时已经运行起来了一个容器。
3、仓库(repository)
docker 仓库的作用就是用来托管镜像的。仓库分为公有仓库(Docker hub、Docker cloud等)、私有仓库(registry、harbor等)、本地仓库:在当前主机存储镜像的地方。

docker常用命令:

docker image ls : 查看docker镜像,可以简写为 docker images ,后者更为方便,博主推荐
docker  pull 镜像名称  :从官方仓库拉取镜像
docker  pull 仓库名称/镜像名称: 从个人仓库拉取镜像
docker  rm  容器名称:删除容器;正在运行的容器是无法直接删除的,需要docker stop 容器后才可以删除,或是   docker rm -r
强制删除
docker  rmi 镜像名或镜像ID: 删除镜像
docker container ls或dockers ps : 查看正在运行的容器
sudo docker container ls --all 或 ps -a: 查看所有的容器
docker stop 容器名或容器id:停止容器
docker save -o 保存的文件名 镜像名 :打包镜像
docker load -i 文件路径/备份文件 : 镜像解压
docker commit 容器  镜像  : 生成新的镜像
docker run -it 容器名称/id  /bin/bash :运行容器,一般会加上`d`参数,后台运行
docker exec -it 容器名称/id  /bin/bash 进入容器,退出容器不会导致容器停止
docker 没有加入组前,每次执行命令都需要加上sudo ,为了更快捷,可以用sudo groupadd docker 然后执行sudo gpasswd -a $USER docker,再执行newgrp docker 就ok了,试以下docker images 是否可以。
和仓库相关的命令:
  docker login [仓库名称]
  docker pull [镜像名称]
  docker push [镜像名称]
  docker search [镜像名称]
数据卷?

就是将宿主机的某个目录,映射到容器中,作为数据存储的目录,我们就可以在宿主机对数据进行存储
命令:
docker run -itd --name 容器名字 -v 宿主机目录:容器目录 镜像名称]
docker run -itd --name test1 -v ~/data/:/home/ ubuntu #目录
docker run -itd --name test1 -v ~/test.txt:/home/test.txt ubuntu # 文件

数据卷容器?

将宿主机的某个目录,使用容器的方式来表示,然后其他的应用容器将数据保存在这个容器中,达到大批量应用数据同时存储的目的
数据卷容器操作流程:
1、创建数据卷容器
2、其他容器挂载数据卷容器

注意:数据卷容器不启动

命令:
1、docker create -v 容器数据卷目录 --name 名称 镜像 #创建数据卷容器
docker create -v /data --name my_ubuntu ubuntu
2、创建两个容器,同时挂载数据卷容器
docker run --volumes-from 数据卷容器id/name -tid --name 容器名字 镜像名称
docker run --volumes-from myubuntu -tid --name test1-ubuntu ubuntu
docker run --volumes-from myubuntu -tid --name test2-ubuntu ubuntu

端口映射

想要在宿主机访问docker里的服务(mysql),需要将docker里的服务端口映射到宿主机
端口映射种类
1、随机映射 -P(大写)
docker run -d -P [镜像名称]
docker run -d -P nginx
2、指定映射 -p 宿主机端口:容器端口
docker run -itd -p 宿主机端口:容器端口 --name 容器名字 镜像名称

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

libao_sir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值