安装Docker
1、安装工具包:
yum install -y yum-utils 如果不是root用户,就在前面加上sudo。
2、配置阿里云仓库,可以用官方的,但是阿里云速度快
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、更新yum软件包索引,提高下载速度
yum makecache fast
4、下载最新版本的 docker ,下载其他版本的点击上面的链接查看步骤
yum install docker-ce docker-ce-cli containerd.io
5、启动 docker
systemctl start docker
6、查看 docker 版本
docker version
7、打开该目录
cd /etc/docker
8、在/etc/docker下执行命令如下:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
//注意 xxxx是自己阿里云服务器的加速地址
"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
卸载docker
systemctl stop docker
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /etc/docker
Dcoker服务相关命令
启动
systemctl satrt docker
查看docker服务状态
systemctl status docker
停掉docker状态
stop docker
重启docker
resatrt docker
设置开机启动dcoker
systemctl enable docker
Docker镜像常用命令
查看本地镜像
docker images
搜索仓库镜像
//搜索仓库镜像 redis为例
docker search redis
拉取最新版的镜像到本地
//拉取最新版的redis为例
docker pull redis
拉取指定版本的镜像到本地
//拉取最新版的 redis为例 镜像名:版本
docker pull redis:3.2
删除本地镜像
// 前面查看镜像有镜像id
docker rmi 镜像id
删除所有本地镜像(慎用-删库跑路的节奏)
dcoker rmi `docker images -q`
检查是否安装Docker(yum检查)
//确认本机Docker是否yum安装
yum list installed
yum list installed | grep docker
Rpm -qa | grep docker
移除旧版本Docker
//Yum移除旧版本docker
yum remove docker docker-common docker-client
编辑Docker配置文件
/etc/docker/daemon.json
#编辑Docker配置文件
vi /etc/docker/daemon.json
{ "registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
sudo systemctl daemon-reload #更新加载配置
sudo systemctl restart docker #重启docker
docker info #检查新配置的地址是否出现在Registry Mirrors
docker search rancher #查找某个docker镜像,检查镜像源是否生效
容器相关命令
创建容器(前台)
- 1、创建之后会马上进入
- 2、容器内执行exit后退出容器,此时容器已经关闭
docker run -it --name=xx 镜像名:版本 /bin/bas
创建容器(后台)
- 1、创建容器后不会进入,而是在后台运行着
- 2、执行 docker exec -it c2 /bin/bash 进入容器
- 3、容器内执行exit后退出容器,此时容器仍然在后台运行着。
docker run -id --name=xx 镜像名:版本号
1. 查看所有容器
docker ps
2. 查看所有容器(包括历史容器(关闭状态的))
docker ps -a
3.关闭一个容器
docker stop 容器名
4. 启动一个容器
docker start 容器名
5. 删除一个容器(容器必须先停掉)
docker rm 容器编号
6. 查看所有容器的id
docker ps -aq
7. 删除所有容器(容器必须先停掉)
docker rm `docker ps - aq`
8. 查看容器的信息
docker inspect 容器名
9. 配置数据卷
docker run -v 宿主机目录(文件):容器内目录(文件)
10.查看docker配置信息
docker info
docker 安装 MySQL
1、搜索mysql镜像
docker search mysql
2、拉取mysql镜像
docker pull mysql:5.6
3、创建容器,设置端口映射、目录映射
# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql
docker run -id \
-p 3306:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=333 \
mysql:5.6
docker 安装 Tomcat
1、搜索tomcat镜像
docker search tomcat
2、拉取mysql镜像
docker pull tomcat
3、创建容器,设置端口映射、目录映射
# 在/root目录下创建tomcat目录用于存储tomcat数据信息
mkdir ~/tomcat
cd ~/tomcat
docker run -id \
-p 8080:8080 \
--name=c_tomcat \
-v $PWD:/usr/local/tomcat/webapps \
tomcat
docker 安装 Redis
1.搜索tomcat镜像
docker search redis
2、拉取mysql镜像
docker pull redis:5.0
3、创建容器,设置端口映射
docker run -id --name=c_redis -p 6379:6379 redis:5.0
4、使用外部机器连接redis
./redis-cli.exe -h 端口 -p 6379
Docker安装nginx( 重点学习 )
docker -h
查看本地镜像 docker images是否已安装nginx
docker images
查找Nginx镜像
//docker search
docker search nginx
拉取Nginx镜像
//docker pull
docker pull nginx
运行Nginx容器
//docker run 端口号修改
docker run --name my-nginx -d -p 8080:80 nginx
查看Nginx容器进程
docker ps
登录容器进程
docker exec -it <container-id> /bin/bash
docker exec -it <container-id> /bin/sh
如果你在Dockerfile中引用了自定义脚本,比如:
entrypoint:./entrypoint.sh,没有给该脚本单独添加运行权限 chmod +x ./entrypoint.sh,也可能报这个错.
解决方式
脚本类型,最常见的两种/bin/sh 和/bin/bash
提示没有/bin/bash,用/bin/sh登录
Docker镜像管理(以nginx为例)
登陆Docker镜像仓库
docker login
推送Docker镜像到镜像仓库
docker tag
推送本地docker镜像到阿里云私有仓库
docker push
拉取Docker镜像到本地
docker pull
查看Docker镜像详情
docker inspect
#查看镜像详情
docker inspect <image-id>
#阿里云公共镜像仓库
registry.cn-hangzhou.aliyuncs.com
Docker容器管理
查看Docker容器进程
docker ps
查看容器日志
docker logs
docker logs <container-id>
查看Docker容器分析
docker top
查看Docker容器状态监控
docker container stats
docker stats
docker stats <container-id>
//相关命令:
Linux 操作防火墙
开启防火墙:
systemctl start firewalld
关闭防火墙(仅本次):
systemctl stop firewalld
查看防火墙状态:
systemctl status firewalld
设置开机启动:
systemctl enable firewalld
禁用开机启动:
systemctl disable firewalld
重启防火墙:
firewall-cmd --reload
开放端口(修改后需要重启防火墙方可生效):
firewall-cmd --zone=public --add-port=8080/tcp --permanent
查看开放的端口:
firewall-cmd --list-ports
关闭端口:
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
============分隔线==============
DockerDesktop(不懂代码的人也能玩docker)
1. 镜像(Image)
镜像相当于一个root文件系统,常见的nginx,mysql,redis等软件可以做成一个镜像
2. 容器(Container)
容器是镜像创建的运行实例,是一个镜像实例化后的运行环境,运行的内容是镜像
每个容器都可以被启动、开始、停止、删除
3. 仓库(Repository)
一个代码控制中心,用来保存镜像。分为公共存储库和私有存储库
最大的官方仓库是 Docker Hub
国内可使用阿里云、网易、中科大等第三方仓库
//部分镜像源说明:
Docker 官方镜像(中国区):https://registry.docker-cn.com
网易云:http://hub-mirror.c.163.com
中科大: https://docker.mirrors.ustc.edu.cn
Azure 中国:https://dockerhub.azk8s.cn
腾讯云公共镜像: https://mirror.ccs.tencentyun.com
阿里云公共镜像: https://registry.cn-hangzhou.aliyuncs.com
百度镜像:https://mirror.baidubce.com
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://dockerhub.azk8s.cn",
"https://mirror.ccs.tencentyun.com",
"https://registry.cn-hangzhou.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.m.daocloud.io",
"https://noohub.ru",
"https://huecker.io",
"https://dockerhub.timeweb.cloud"
]
}
安装
进入Docker官网 (www.docker.com/) ,下载对应版本并安装(mac为例)
登录Docker账号
登录Docker账号,可创建和管理自己的镜像仓库Hub
进入Docker Desktop
查看Docker Desktop支持的Docker和Kubernetes版本
查看Docker Desktop版本,支持如下
- Docker Engine:27.1.1
- Kubernetes:v1.30.2
检查Docker版本
打开终端,输入docker version,显示详细Docker版本信息
Docker Hub和常用镜像管理方式
- 登录Docker Hub,创建和使用Hub镜像仓库(需解决网络问题)
- 使用阿里云个人版镜像服务
- 也可配置国内其他镜像源
使用Docker Desktop创建容器应用(以Nginx为例)
查找nginx镜像
启动Nginx容器
使用docker run拉取镜像并启动容器
- -d,后台运行
- -p,用于指定端口
docker run --name my-local-nginx -d -p 8080:80 nginx
检查Nginx容器状态
使用docker ps查看运行中的容器
查看容器的资源状态
使用docker container status,查看容器的资源使用情况
验证Nginx运行情况
浏览器输入http://localhost:8080,看到以下界面说明Nginx服务已正常运行
Docker Desktop查看Nginx容器
通过Docker Desktop启动本地Kubernetes服务
设置启动Kubernetes服务
点击右上角【设置】按钮,进入设置
选择【Kubernetes】分页
勾选【Enable Kubernetes】,点击右下角【Apply & restart】
Docker Desktop会拉取对应版本的Kubernetes相关镜像,并通过「Virtual Machine Service」方式在本地启动K8S服务
查看Kubernetes服务安装情况
- 返回Docker Desktop主页,待服务正常启动后,在左下角能看到Kubernetes图标,鼠标放上去可显示「Kubernetes running」
- 在【Images】页面,可查看拉取的kubernetes相关镜像
检查Kubernetes服务
kubectl version
Kubernetes Version为 v1.30.2
kubectl getnode
查看Node节点,可看到节点名称为docker-desktop,VERSION为v1.30.2
kubectl describe node
查看Node节点详情
kubectl get pod
在default 命名空间下,新环境暂时没有创建pod,显示为空
kubectl get pod -A
加-A显示所有Pod,可看到kube-system下有系统组件的pod,状态为Running
至此, Docker Desktop本地的Kubernetes服务已启动,可以正常使用