docker
安装 docker
docker 要求 CentOS系统内核版本高于 3.10,查看页面的前提条件来验证你的 CentOS 版本是否支持 docker
uname -r
使用 root
权限登录 CentOS,确保 yum
包更新到最新。
sudo yum update
卸载旧版本(如果安装过旧版本的话)
sudo yum remove docker docker-common docker-selinux docker-engine
安装所需的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
设置 yum
源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
可以查看所有仓库中所有 docker
版本,并选择特定版本安装。
yum list docker-ce --showduplicates | sort -r
安装 docker
sudo yum install docker-ce # 由于repo中默认只开启stable仓库,故这里安装的是最新稳定版 20.10.21
sudo yum install <FQPN> # 例如:sudo yum install docker-ce-20.10.21.ce
启动并加入开机启动
sudo systemctl start docker # 启动 docker 服务
sudo systemctl enable docker # 设置开机自启动
systemctl list-unit-files | grep enable | grep docker # 查看是否设置成功
验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
问题
1、因为之前已经安装过旧版本的docker,在安装的时候报错如下:
Transaction check error:
file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
2、卸载旧版本的包
sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
3、再次安装 docker
sudo yum install docker-ce
docker 基本命令使用
-
显示所有正在运行的容器,一个容器只管理一个服务,即使容器挂掉也不会影响其他容器的服务,做到业务之间不影响。
docker ps
-
开始一个容器服务
docker start [id/id开头]
-
停止一个容器。
docker stop [id/id开头]
-
显示所有的容器
docker ps -a
-
删除一个容器
docker rm [id/id开头]
-
显示所有的容器镜像
docker images
-
删除一个容器镜像
docker rmi [IMAGE ID/IMAGE ID开头]
-
设置镜像自动启动
docker start [id/id开头] # 先启动,再设置自动启动 docker update --restart=always [id/id开头] # 设置自动启动
docker
中部署 MySQL 服务。
1、获取MySQL
镜像
docker pull mysql
2、启动MySQL
镜像
docker run --name=mysql -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
docker run是启动容器的命令;
--name:指定了容器的名称,方便之后进入容器的命令行
-itd:其中,i是交互式操作,t是一个终端,d指的是在后台运行
-p:指在本地生成一个随机端口,用来映射mysql的
3306
端口-e:设置环境变量
MYSQL_ROOT_PASSWORD=123456:指定了mysql的root密码
mysql:指运行mysql镜像
3、进入 MySQL
容器
通过docker exec
命令进入MySQL容器
docker exec -it mysql /bin/bash
或
docker exec -it c9 /bin/bash
其中的
c9
指的当前mysql容器ID的开头部分。
4、使用工具连接
需要留意防火墙端口是否开启。
firewall-cmd --zone=public --add-port=3306/tcp --permanent
参考:Centos7上安装docker - 风止雨歇 - 博客园 (cnblogs.com)
docker 停止服务 部署服务 - 握瑾怀瑜 - 博客园 (cnblogs.com)
docker服务及镜像开机自动启动_guotianqing的博客-CSDN博客_docker镜像开机启动
docker中创建MySQL及在外部使用Navicat连接 - 山人是我师 - 博客园 (cnblogs.com)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!