企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

小白也能玩docker,安装常用mysql,redis等

wudianyun 2025-01-16 21:13:36 精选文章 18 ℃

安装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服务已启动,可以正常使用

最近发表
标签列表