Docker学习篇

发布时间:2026/7/13 22:03:10
Docker学习篇 目录一、CentOS7下载docker二、docker常用命令1. 启动类命令2. 镜像命令3.容器命令3.1新建/启动容器3.2查看容器3.2退出容器3.3启动停止容器3.4后台启动容器3.5镜像命令3.5.1提交镜像4.软件安装4.1docker安装MySQL4.2docke安装redis4.2.1客户端连接不到redis修改redis.conf4.3docker安装rabbitmq4.4容器自启动一、CentOS7下载dockerdocker官网docker仓库官方下载教程CentOS7下载dnf,或将下载命令dnf替换为yum。卸载旧版本sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine设置存储库#官方地址可能下载不了sudo yum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装 Docker 包最新版本sudo yum-y install docker-ce docker-ce-clicontainerd.io docker-buildx-plugin docker-compose-plugin启动docker设置开机自启sudo systemctl enable--now docker永远的hello worldsudo docker run hello-world拉取hello-world镜像失败更换镜像源参考文章vim/etc/docker/daemon.json在daemon.json文件中写入以下镜像源{registry-mirrors:[https://docker.registry.cyou,https://docker-cf.registry.cyou,https://dockercf.jsdelivr.fyi,https://docker.jsdelivr.fyi,https://dockertest.jsdelivr.fyi,https://mirror.aliyuncs.com,https://dockerproxy.com,https://mirror.baidubce.com,https://docker.m.daocloud.io,https://docker.nju.edu.cn,https://docker.mirrors.sjtug.sjtu.edu.cn,https://docker.mirrors.ustc.edu.cn,https://mirror.iscas.ac.cn,https://docker.rainbond.cc]}重启服务拉取镜像耐心等待systemctl daemon-reload systemctl restart docker sudo docker run hello-world二、docker常用命令1. 启动类命令#启动systemctlstartdocker#停止systemctl stop docker#重启systemctl restart docker#查看状态systemctl status docker#开机自启systemctl enable socker#查看概要信息docker info#帮助文档docker--help#具体命令帮助文档docker 具体命令--help2. 镜像命令#查看所有镜像-q:只显示镜像id-a:包含历史镜像docker images[-q-a]#docker仓库搜索镜像docker search 镜像名#拉取镜像,TAG:版本号没有默认latest版本docker pull 镜像名[:TAG]#查看镜像/容器/数据卷所占的空间docker system df#根据id删除镜像docker rmi 镜像id#删除所有镜像docker rmi-f $(docker images-qa)3.容器命令3.1新建/启动容器#直接看官方文档docker run--help#常用OPTIONS-i交互式操作-t终端,--name:容器新名字 -d:后台运行容器,并返回容器id,-P:随机端口映射-p指定端口映射,TAG:为latest可不带docker run[OPTIONS]IMAGE[COMMAND][ARG...]docker run-it--namemyubuntu ubuntu/bin/bash#运行ubuntu容器,命名为myubuntu,打开shell命令交互终端3.2查看容器#常用OPTIONS-a:当前所有正在运行的容器历史上运行过的-l显示最近擦创建的容器-n:显示最近n个创建的容器-q静默模式只显示容器编号dockerps[OPTIONS]3.2退出容器exit/ctrld退出并停止容器ctrlq仅退出容器还在运行3.3启动停止容器#启动已停止的容器dockerstart容器id或容器名#重启容器docker restart 容器id或容器名#停止容器docker stop 容器id或容器名#强制停止容器dockerkill容器id或容器名#删除容器不加-f只能删除已停止的容器dockerrm-f 容器id或容器名#删除所有容器慎用dockerrm-f $(dockerps-qa)3.4后台启动容器#后台启动docker run-d 镜像id#查看容器日志docker logs 容器id#查看容器内运行的进程docker top 容器id#查看容器内部细节docker inspect 容器id#进入正在运行的容器以shell命令交互退出不会停止容器docker exec-it 容器id/bin/bash3.5镜像命令3.5.1提交镜像docker commit-m提交的描述信息-a作者容器id 要创建的目标镜像[:TAG]以ubuntu镜像为例,下载vim#运行容器b1d9df8ab815 为容器iddocekr run-it b1d9df8ab815/bin/bash#在ubuntu容器中更新apt-get update#下载vi编辑器apt-get-y install vim若ubuntu执行apt-get update失败在创建容器时加上–networkhostdocker run-it--networkhost b1d9df8ab815/bin/bash apt-get update#下载vim可能选择时区,选择亚洲上海apt-get-y install vim#提交镜像docker commit-mvim add vim cmd-a菠萝吹雪4fadb6378b0e ubuntu:1.0.0#查看提交的镜像docker images4.软件安装4.1docker安装MySQLdocker pull mysql:5.7 docker run-p 3306:3306--name mysql \-v/mydata/mysql/conf:/etc/mysql/conf.d \-v/mydata/mysql/log:/var/log/mysql \-v/mydata/mysql/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD123456 \-d mysql:5.74.2docke安装redisdockerrun-p6379:6379--nameredis-v/madata/redis/data:/data\-v/mydata/redis/conf/redis.conf:/etc/redis/redis.conf\-dredis:6.0.8 redis-server /etc/redis/redis.conf4.2.1客户端连接不到redis修改redis.conf#守护进程daemonize no#保护模式protected-mode no4.3docker安装rabbitmqdockerpull rabbitmq:4.2.0-managementsudodockerrun\-eRABBITMQ_DEFAULT_USERadmin\-eRABBITMQ_DEFAULT_PASSadmin\-vrabbitmq-plugins:/plugins\--namerabbitmq\--hostnamerabbitmq\-p15672:15672\-p5672:5672\-d\rabbitmq:4.2.0-management4.4容器自启动dockerupdate--restartalways 容器ID或名称