Docker基础(一)

为什么要使用Docker?

  • 减少编写代码和在生产环境中运行代码之间的延迟。

使用Docker有什么好处?

  • 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
  • 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

CentOS安装Docker

  • 卸载旧版本
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  • 需要的安装包
$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
  • 设置镜像仓库(阿里云)
$ sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 安装docker相关的 (docker-ce 社区版 ee 企业版)
sudo yum install docker-ce docker-ce-cli containerd.io
  • 启动Docker,查看版本
sudo systemctl start docker
docker version
  • 测试helloword,(由于本地没有,所以是从远程仓库拉取)
sudo docker run hello-world
  • 查看helloword镜像
docker images

在这里插入图片描述

  • 阿里云镜像加速

依次点击

  1. 登录阿里云
  2. 镜像容器服务
  3. 镜像中心
  4. 镜像加速器
  5. 选择对应的系统,依次执行命令

在这里插入图片描述

Docker运行原理

  • run的运行流程图

在这里插入图片描述

  • Docker是如何工作的?
  1. Docker是一个Client-Server结构的系统
  2. Docker的守护进程运行在主机上,通过Socket从客户端访问
  3. Docker-Client接收到Docker-client的指令,就会执行这个指令

在这里插入图片描述

  • Docker为什么比虚拟机快?
  1. 它有着比虚拟机更少的抽象层。
  2. 它利用的是宿主机的内核,而虚拟机需要GuestOS,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导。
  3. 虚拟机加载GuestOS,是分钟级别的,而Docker是利用宿主机的操作系统,省略这个复杂的引导过程,秒级别的

在这里插入图片描述

常用命令

镜像命令

  • docker -image --help 帮助
  • docker -image -a 显示所有的镜像
  • docker -image -q 只显示镜像的ID
  • docker search XXX 搜索某个镜像, 如:docker search mysql
  • docker pull XXX 下载某个镜像,如:docker pull mysql:5.7
  • docker rmi -f “id” 根据id删除镜像, 如:docker rmi -f bf756fb1ae65
  • docker rmi -f $(docker images -aq) 删除全部的镜像

容器命令

说明:我们有了镜像才能创建容器

  • docker pull centos 下载centos镜像
  • docker run -it *** 新建容器并启动
docker run [可选参数] image
[可选参数说明]
--name="***"  容器名字,用来区分容器
-d			  后台方式运行
-i 或者 -t    使用交互方式运行,进入容器查看内容
-p(小写)     指定容器的端口
-P(大写)	  随机指定端口
  • exit停止容器并退出
  • Ctrl + P + Q退出不停止
  • docker ps 查看当前运行中的容器
  • docker ps -a 查看当前运行中+曾今运行过的的容器
  • docker rm 容器ID 删除指定容器
  • docker rm -f $(docker ps -aq) 删除所有的容器
  • docker ps -a -q|xargs docker rm 删除所有的容器
  • docker start/stop/restart/kill 容器ID 启动,停止,重启,强制停止某容器

常见其他命令

  • 后台启动容器
  1. docker run -d centos
  2. 问题:当docker ps查看运行的容器的时候,发现centos停止了
  3. 原因:docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止。
  • 查看容器日志
  1. docker logs -tf --tail (要显示的条数) 容器id:查看容器进程信息
  2. docker top 容器id 查看容器进程信息
  3. docker inspect 容器id查看镜像的元数据
  4. docker exec -it 容器id 进入当前正在运行的容器,进行一些配置的修改
  5. docker attach 容器id 进入当前容器,可以看到他正在运行的东西
  • 从容器拷贝文件到主机上 docker cp 容器id:/home/test.java /home

命令总结

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值