Docker开发人员必会的工具之一

发布时间:2024-11-08 人气:153次


  在日常开发中,很多公司的微服务应用或一些常见的中间件都采用通过docker来部署的,今天我们来聊聊docker的那些事。


  1、认识docker


  docker可以理解成它是一艘大轮船,它可以往我们的的电脑里面部署应用,docker这艘船上的每个集装箱都是一个独立的应用。


  如果我们自己安装某些应用可能需要大量繁琐的配置,但是docker直接提供了镜像让我们一键轻松的安装。


  docker轮船上的集装箱我们通常称为容器,通过容器我们可以快速的安装Redis、Mysql等常见的中间件服务,并且可以共享给其他的开发者,这就是我们为什么下载镜像后就可以运行的原因。


  容器我们如何理解呢?其实一个容器理解成一台虚拟机,但是和虚拟机相比容器的体积更小,因为它不需要安装完整的操作系统。


  docker容器与虚拟主机.png


  docker容器相比虚拟机来讲它更加的轻盈,由于docker容器不需要安装完整的操作系统,所以在docker容器中一些Linux中的命令可能无法执行的原因就在此。


  创建容器有两种方式,一种是可以从云端拉去镜像(如通用的中间件服务Mysql、Redis、MQ等等),另一种是通过Dockerfile构建Java项目成镜像后运行,如下是典型的Java项目中的Dockerfile文件:


  Dockerfile文件.png


  2、安装和使用docker


  2.1安装docker


  (1)安装docker环境依赖


  yum-yinstallgcc


  yum-yinstallgcc-c++


  (2)安装docker


  yuminstall-ydocker


  (3)配置docker


  vi/etc/docker/daemon.json


  ----------------------添加内容------------------------


  {


  "registry-mirrors":["https://9cpnqwer.mirror.aliyuncs.com"]


  }


  配置Docker镜像加速器的目的是为提高dockerpull的速度,不然我们在拉取镜像的时候速度会比较慢。


  (4)启动和停止docker


  #启动/重启动/停止docker


  systemctlstartdocker


  systemctlrestartdocker


  systemctlstopdocker


  #开机启动设置


  systemctlenabledocker


  (5)测试docker是否启动成功


  测试docker启动成功代码.png


  至此docker就已经安装成功了。


  2.2实操docker安装Mysql


  (1)拉取镜像


  #指定拉取mysql的版本当然也可以不指定


  dockerpullmysql:5.7


  拉取镜像.png


  (2)启动Mysql


  dockerrun-p3306:3306--namemysql--restart=always--privileged=true


  -v/usr/local/mysql/log:/var/log/mysql


  -v/usr/local/mysql/data:/var/lib/mysql


  -v/usr/local/mysql/conf:/etc/mysql


  -v/etc/localtime:/etc/localtime:ro


  -eMYSQL_ROOT_PASSWORD=longxiabiancheng


  -dmysql:5.7


  -p表示docker容器的端口和虚拟机的端口的映射;


  --name是给启动的docker容器取个名字;


  --restart表示容器跟随docker启动;


  -v表示磁盘文件的映射,目的是可以在容器中访问宿主机中的文件或目录,实现数据的共享和持久化;


  -d表示后台启动;


  -e表示为创建的容器传递环境变量;


  --privileged表示获取宿主机的root权限


  (3)查询mysql容器的启动


  通过dockerps命令可以查询正在运行的容器的情况。


  3、docker的常见命令整理


  (1)查看已经运行的容器


  dockerps


  (2)查看所有的容器


  dockerps-a


  (3)停止容器


  dockerstop<容器id或者容器name>


  (4)启动容器


  dockerstart<容器id或者容器name>


  (5)删除已经停止的容器


  dockerrm<容器id或者容器name>


  (6)强制删除容器,包含没有停止的容器


  dockerrm-f<容器id或者容器name>


  (7)进入容器


  dockerexec-it<容器id或者容器name>/bin/bash


  (8)对应目录下运行docker-compose文件


  docker-composeup-d


  (9)停用移除所有容器以及网络相关


  docker-composedown


  (10)删除本地一个或多少镜像


  dockerrmi-f镜像id//带-f表示强制删除


  总结:


  (1)docker可以很方便帮我们安装一些常见的应用服务,如Mysql、Redis等等。


  (2)如果有有许多的服务要启动的时候,我们一个个使用dockerrun的方式来启动比较麻烦,我们可以使用docker-compose来管理部署,当然目前很多的公司多使用k8s来完成对docker的编排、管理和调度。


选择订阅-通过 Docker 订阅在协作、安全性和支持之间找到完美的平衡!
在线客服
联系方式

热线电话

18221674630

上班时间

周一到周五

公司电话

18221674630

二维码
线
获取免费体验资格

提交后,我们将在3个小时内与您联系