docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. 需要的安装包
yum install -y yum-utils
3. 设置镜像的仓库
yum-config-manager \
–add-repo \
https://download.docker.com/linux/centos/docker-ce.repo # 默认的是国外的
yum-config-manager \
–add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 阿里云
4. 更新软件包索引
yum makecache fast
5. 安装docker docker-ce 社区 -ee企业
yum install docker-ce docker-ce-cli containerd.io
6. 启动docke
systemctl start docker
7. 检查是否安装成功
docker version
8. hello-world (demo)
docker run hello-world
9. 查看镜像
docker images
加速器
sudo mkdir -p /etc/docker
vim /etc/docker/daemon.json
{
“registry-mirrors”: [
“镜像源地址”
],
“dns”: [“8.8.8.8”,“8.8.4.4”]
}
重启生效
sudo systemctl daemon-reload
sudo systemctl restart docker
镜像源地址推荐:
-
清华大学:https://mirrors.tuna.tsinghua.edu.cn/
-
阿里镜像:阿里镜像需要登录阿里云控制台获取,每个账号有唯一镜像加速地址。在控制台—>镜像容器服务---->镜像中心:镜像加速服务 下获取。
1. 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
2. 删除资源
rm -rf /var/lib/docker
帮助命令
docker verison # 显示docker版本信息
docker info # 显示docker系统信息(包括镜像和容器的数量)
docker 命令 --help # 万能提示
docker stats # 查看资源使用情况
镜像命令
docker images # 查看所有本地的主机上的镜像
docker search # 搜索镜像
docker rmi # 删除镜像
docker pull[:tag] 下载镜像
docker pull mysql
Using default tag: latest # 如果不写默认最新
latest: Pulling from library/mysql
bb79b6b2107f: Pull complete # 分层下载,docker image的核心 联合文件系统
49e22f6fb9f7: Pull complete
842b1255668c: Pull complete
9f48d1f43000: Pull complete
Digest: sha256:8c17271df53ee3b843d6e16d46cff13f22c9c04d6982eb15a9a47bd5c9ac7e2d #签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest #真实地址
commit镜像
提交容器成为一个新的
docker commit -m=“提交的信息” -a=“作者” 容器ID 目标镜像名:[TAG]
容器命令
说明:我们有了镜像才可以创建容器。 下面下载一个centos来学习
下载centos镜像
docker pull centos
新建容器并启动
docker run [可选参数] image
参数说明
–name=“name” 容器名字,用来区分容器
-d 后台交互方式
-it 使用交互方式运行,进入容器查看内容
-p 指定容器端口
-p ip:主机端口:容器端口
-p 主机端口:容器端口(常用)
-p 容器端口
-P 随机指定端口
测试、启动进入容器
docker run -it centos /bin/bash
退出
exit
退出容器
exit # 直接推出容器
Ctrl + P + Q # 容器不停止推出
列出所有运行的容器
docker ps
列出当前正在运行的容器
-a # 列出当前正在运行的容器以及历史记录
-n=? # 显示最近创建的容器
-q # 只显示容器编号
根据镜像过滤
docker ps --filter ancestor=nginx
删除容器
docker rm 容器ID # 不能删除正在运行的容器
-f # 可以删除正在运行的容器
docker rm -f $(docker ps -aq) # 删除所有容器
启动和停止
docker start 容器ID # 启动
restart 容器ID # 重启
stop 容器ID # 停止当前正在运行的容器
kill 容器ID # 强制停止当前正在运行的容器
其他常用命令
后台启动容器
命令
docker run -d 镜像名
问题
docker ps 发现centos停止了
常见的坑:docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
日志
docker logs -f -t --tail 10 容器ID
造数据测日志
docker run -d centos /bin/sh -c “while true;do echo CSP YES;sleep 1;done”
进程信息
docker top 容器ID
元数据
docker inspect 容器ID
进入当前正在运行的容器
通常容器都是使用后台的方式运行的,需要进入容器,修改一些配置
命令
dokcer exec -it 容器ID baseShell
docker attach 容器ID
区别
docker exec # 进入容器后开启一个新的终端,可以在里面操作(常用)
docker attach # 进入容器正在执行的终端,不会启动新的进程!
从容器复制到主机
docker cp 容器ID:容器内路径 需要拷贝到的主机路径
- portainer(简单)
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /opt/docker/portainer:/data --name portainer --restart=always portainer/portainer
- Rancher(CI/CD)
容器之间可以有一个数据共享的技术,Docker容器中产生的数据,同步到本地!将容器内的目录,挂载到宿主机(容器间也可以数据共享)。实现容器的持久化!
直接使用命令挂载 -v
docker run -it -v 主机目录:容器目录
匿名和具名挂载
所有的docker容器内的卷,没有指定目录的情况下都是在 /var/lib/docker/volumes/xxx/_da
匿名 直接指定容器目录
docker run -v /ect/nginx nginx
具名 xxx为挂载取得名字
docker run -v xxx:/ect/nginx nginx
拓展
ro readonly # 只读
rw readwrite # 可读可写
docker run -v xxx:/ect/nginx:ro nginx
docker run -v xxx:/ect/nginx:rw nginx
docekrfile是用来构建dockers镜像的文件,命令参数脚本。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
这份文档从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的教程了。
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~
你的支持,我的动力;祝各位前程似锦,offer不断!!!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!**
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
这份文档从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的教程了。
[外链图片转存中…(img-jBlwBtfW-1713478221884)]
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~
你的支持,我的动力;祝各位前程似锦,offer不断!!!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!