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安装MySQL
- 4.2docke安装redis
- 4.2.1客户端连接不到redis,修改redis.conf
- 4.3docker安装rabbitmq
- 4.4容器自启动
一、CentOS7下载docker
docker官网,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 world
sudo 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--name=myubuntu ubuntu/bin/bash#运行ubuntu容器,命名为myubuntu,打开shell命令交互终端3.2查看容器
#常用OPTIONS:-a:当前所有正在运行的容器+历史上运行过的;-l:显示最近擦创建的容器;-n:显示最近n个创建的容器;-q:静默模式,只显示容器编号dockerps[OPTIONS]3.2退出容器
exit/ctrl+d:退出并停止容器;ctrl+q:仅退出,容器还在运行
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失败,在创建容器时加上–network=host
docker run-it--network=host b1d9df8ab815/bin/bash apt-get update#下载vim可能选择时区,选择亚洲上海apt-get-y install vim#提交镜像docker commit-m="vim add vim cmd"-a="菠萝吹雪"4fadb6378b0e ubuntu:1.0.0#查看提交的镜像docker images4.软件安装
4.1docker安装MySQL
docker 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_PASSWORD=123456 \-d mysql:5.74.2docke安装redis
dockerrun-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安装rabbitmq
dockerpull rabbitmq:4.2.0-managementsudodockerrun\-eRABBITMQ_DEFAULT_USER=admin\-eRABBITMQ_DEFAULT_PASS=admin\-vrabbitmq-plugins:/plugins\--namerabbitmq\--hostnamerabbitmq\-p15672:15672\-p5672:5672\-d\rabbitmq:4.2.0-management4.4容器自启动
dockerupdate--restart=always 容器ID或名称