docker 入门
下载地址
docker 官网 地址 http://www.docker.com
Docker Hub 官网 https://hub.docker.com/
安装步骤
- 查看自己 版本 (必须是centOs7以上的版本)
- cat /etc/redhat-release
- yum 安装gcc相关
- yum -y install gcc
- yum -y install gcc-c++
- gcc 简介
- 由GNU推出的一款强大的,性能优越的多平台编译器
- 想了解更多可以百度
- 安装需要的软件包(官网要求)
- yum install -y yum-utils
- 这里解释一下,如果你不加-y 他就会问你要不要安装,加了就直接安装了
- 设置stable镜像仓库
- yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 这里我们设置阿里云的,如果设置了官网的,会很慢,也会经常报错
- 更新yum 软件包索引
- yum makecache fast
- 如果你的centOs是8或以上版本去掉 fast 就行了,因为8版本不支持
- 安装DOCKER CE(官网要求)
- yum -y install docker-ce docker-ce-cli containerd.io
- 启动Docker
- systemctl start docker
- 测试
- docker version
- docker run hello-world
- 卸载
-systemctl stop docker- yum remove docker-ce docker-ce-cli containerd.io
- rm -rf /var/lib/docker
- rm -rf /var/lib/containerd
阿里云镜像加速
- 先说下镜像加速是什么
- https://promotion.aliyun.com/ntms/act/kubernetes.html
- 注册一个属于自己的阿里云账户(可使用淘宝账号,支付宝账号)
- 获得加速地址链接
- 登录阿里云开发者平台
-点击控制台 - 选择容器镜像服务
- 获取加速地址
- 登录阿里云开发者平台
- 然后直接安装命令执行
在这里插入图片描述
docker 常用命令
- 帮助启动类命令
- 启动docker systemctl start docker
- 停止docker systemctl stop docker
- 重启docker systemctl restart docker
- 查看docker状态 systemctl status docker
- 开机启动 systemctl enable docker
- 查看docker摘要信息 docker info
- 查看docker 帮助文档 docker --help
- 镜像命令
- docker images
- 列出本地主机上的镜像
- OPTIONS
- -a 列出本地所有的镜像
- -q 只显示镜像ID
- docker search 某个镜像的名字,比如redis
- 例如 docker search redis
- 还可以这么写 docker search --limit 5 redis
- docker pull 某个镜像的名字
- 下载镜像
- docker pull 镜像名字
- 没有tag就是最新版
- 等价于 docker pull 镜像名字:latest
- docker pull ubuntu
- docker system df
- 查看镜像容器所占的资源
- docker rmi 某个镜像的名字
- 删除镜像
- docker rmi of 镜像id 镜像名字都是可以的
- docker rmi -f $(docker images -qa)
- 删除镜像
- docker images
面试题(谈谈docker虚悬镜像是什么?)
仓库名、标签都是<none>的镜像,俗称虚悬镜像dangling image.
- 容器命令
- 有镜像才能创建容器 (关键点没有容器你什么都创建不上)
- docker pull centos
- docker pull ubuntu
- 新建+启动容器
- docker run -it (容器名) bash (启动交互式容器)
- 列出当前所有正在运行的容器 docker ps (-a 列出当前所有正在运行的容器 + 历史上运行的)
- -l 显示最近创建的容器
- -n 显示最近N个创建的容器。
- -q 静默模式,只显示容器编号
- 退出容器
- 两种退出方式
- exit run 进去的容器,exit 退出,容器停止
- CTRL+p+q run 进去的容器 CTRL+p+q 退出,容器不停止
- 两种退出方式
- 启动已停止的运行容器
- docker start 容器ID和容器名
- docker restart 同上
- docker stop 同上
- docker kill 同上
- docker rm 删除已停止的容器
- 启动守护式容器(后台服务器)
- 在大部分情况下,我们希望docker服务是在后台运行的,我们可以通过-d 指定容器的后台运行模式。
- docker run -d 容器名
- redis 启动实列
- 前台交互式启动
- docker run -it redis:6.0.8 (前台交互式)
- docker run -d redis:6.0.8 (后台守护式启动)
- 前台交互式启动
- 查看容器日志
- docker logs 容器ID
- 查看容器内运行的进程
-docker top 容器ID - 查看容器内部细节
-docker inspect 容器ID - 进入正在运行的容器并以命令行交互
- docker exec -it 容器id
- 重新进入 docker attach
- 上述两个的区别
- attach 直接进入容器启动命令终端,不会启动新的进程,用exit退出,会导致容器停止
- exec 是在容器打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器停止
- 建议使用 exec
- 从容器内拷贝文件到主机上
- 容器->主机
- docker cp 容器ID:容器内路径 目的主机路径
- 导入和导出容器
- export 导出容器的内容留作为一个tar归档文件{对应import命令}
- import 从 tar包中的内容创建一个新的文件系统在导入为镜像【对应的export】
- 案例
- docker export 容器ID > 文件名.tar
- cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
- 有镜像才能创建容器 (关键点没有容器你什么都创建不上)