docker怎么使用:上手操作流程

docker怎么使用,完整流程分为安装、镜像拉取、容器启停、数据挂载、镜像打包推送,你在LinuxUbuntu22.04、CentOSStream9或者WindowsWSL2环境都可以复现,裸Windows桌面版DockerDesktop会多出图形界面交互,服务器无图形环境只使用命令行,不适合资源低于2核2G的云主机,这类机器运行容器容易出现内存溢出,执行命令前要确认用户已经具备服务器基础操作权限,知晓防火墙端口放行规则。

docker怎么使用:安装环节

服务器环境优先使用官方源安装,避免系统自带软件源内版本滞后,Ubuntu系统先卸载旧版本组件,再添加docker官方GPG密钥和软件仓库,执行apt更新后安装docker-ce、docker-ce-cli和containerd.io三个核心包,安装完成后执行systemctlenable--nowdocker设置开机自启,把当前用户加入docker用户组,避免每次操作都要加sudo,添加用户组之后需要重新登录终端,权限变更才会生效。Windows平台直接下载DockerDesktop安装包,开启WSL2后端,启用自动集成,启动后在cmd或者powershell里就能直接调用docker命令。

验证安装只用一条命令。

docker怎么使用:镜像管理

镜像是容器的只读模板,容器是镜像运行起来的实例,你可以用dockerpull加上镜像名称拉取公共仓库镜像,不写版本标签默认拉取latest标签,latest标签不固定指向稳定版本,生产环境建议写明具体版本号,例如nginx:1.26。dockerimages查看本地全部镜像,dockerrmi加上镜像ID删除不需要的镜像,dockersearch可以检索DockerHub公共镜像,国内访问公共仓库速度较慢时,可以配置镜像加速地址,修改daemon.json文件之后重启docker服务生效。

docker怎么使用:容器运行与管控

dockerrun是启动容器的核心指令,基础参数包含-d后台运行、-p端口映射、-v挂载目录、--name给容器命名,端口映射格式为主机端口:容器内部端口,容器内部端口在镜像文档里固定,主机端口不能和本机已有服务冲突。dockerps查看正在运行的容器,加-a参数查看所有容器,包括已经停止的容器。dockerstop配合容器名称或者ID停止容器,dockerstart启动已经存在的停止容器,dockerrm删除已经停止的容器,运行中的容器需要先停止再删除,或者增加-f参数强制删除,强制删除会中断正在处理的业务请求。

docker怎么使用:数据持久化

容器默认读写层跟随容器生命周期,容器删除之后内部数据会一并丢失,两种持久化方式分别是挂载宿主机目录和dockervolume数据卷,宿主机目录挂载适合你需要直接在主机上修改文件的场景,数据卷由docker统一管理,文件权限问题更少,更适合生产部署。挂载路径要确认宿主机目录提前存在,docker不会自动创建多层上级目录,挂载错误会造成容器启动失败,数据库类服务必须配置持久化挂载,否则重启容器数据丢失。

docker怎么使用:自定义镜像构建

自定义镜像依靠Dockerfile文件构建,文件内使用FROM指定基础镜像,RUN执行安装命令,COPY把本地文件复制进镜像,EXPOSE声明对外端口,CMD设置容器启动默认命令,EXPOSE只是文档声明,不会自动放行端口,端口映射依旧依靠run命令的-p参数。构建命令为dockerbuild-t镜像名:标签.,末尾的点代表构建上下文是当前目录,上下文目录里不要放入大体积日志、压缩包,会拉长构建耗时,构建完成后可以dockerrun测试镜像功能。

操作常用命令适用场景
拉取镜像dockerpull使用官方预制服务
启动容器dockerrun初次创建并运行服务
重启容器dockerrestart容器已经存在,重新加载
进入容器终端dockerexec-it调试容器内部程序

dockerexec-it可以进入正在运行容器的交互终端,调试排查问题时高频使用,容器停止状态下这条命令无法执行,进入终端之后的修改只保存在容器读写层,没有写入挂载卷的内容,重建容器就会消失,临时调试可以这么操作,不要把业务配置改动放在容器内部直接修改,优先修改宿主机挂载的配置文件。

该方法的适用边界是单节点容器部署,不包含集群编排,多容器关联、负载均衡、滚动更新这类需求,需要搭配docker-compose或者Kubernetes,docker-compose适合单机多容器编排,依靠yml文件统一管理多个容器的启动顺序、网络和挂载,适合小型项目开发和测试环境,不适合大规模集群调度。

docker-compose的yml文件里可以声明多个service,配置depends_on控制启动先后顺序,执行docker-composeup-d后台批量启动全部服务,docker-composedown停止并且删除整套容器网络,不会自动删除数据卷,需要手动增加-v参数同步清理数据卷,清理前确认数据已经备份,避免误删业务资料。

敬慕百科汇集百科知识与游戏文化,带你发现世界的每一个精彩角落。

想要了解更多关于docker怎么使用的文章欢迎访问:百科