Docker+Linux+Portainer一键部署
Docker
什么是docker?
开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中
安装docker
先要检查系统版本内核,要是x86 64位系统
uname -r
将Yum源更换位阿里云镜像源
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup //备份原来的进行源
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
//下载阿里云Yum
sudo yum clean all
sudo yum makecache //清理Yum缓存
yum更新到最新版本,看到完毕或者complete 就表示完成了 , 这个过程要5-10分钟
sudo yum update
安装Docker所要的安装包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
设置Docke的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 -y docker-ce-25.0.5 docker-ce-cli-25.0.5 containerd.io 推荐
sudo yum install docker-ce 最新版本
安装Docker-Compose
`在线安装`
sudo curl -L https://gitee.com/fustack/docker-compose/releases/download/v2.24.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose 镜像地址
设置权限
sudo chmod +x /usr/local/bin/docker-compose
`离线安装`
# 下载;docker-compose-`uname -s`-`uname -m` 查看版本;https://github.com/docker/compose/releases/tag/v2.18.1
# 重命名
mv docker-compose-linux-x86_64 docker-compose
# 加入执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 查看docker-compose版本
docker-compose -v
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -v
Docker Compose version v2.18.1
启动Docker并且开机自启动
sudo systemctl start docker 启动Docker
systemctl enable docker 开机自启动Docker
sudo systemctl restart docker 重启Docker
如果不可以,可以使用这个
yum list installed | grep docker //检查,如果没有提示再使用以下方法
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache
sudo systemctl start docker
学习Docker
查看Docker版本
docker --version
卸载Docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
Docker常用命令
docker --help #Docker帮助
docker --version #查看Docker版本
docker search <image> #搜索镜像文件,如:docker search mysql
docker pull <image> #拉取镜像文件, 如:docker pull mysql
docker images #查看已经拉取下来的所以镜像文件
docker rmi <image> #删除指定镜像文件
docker run --name <name> -p 80:8080 -d <image> #发布指定镜像文件
docker ps #查看正在运行的所有镜像
docker ps -a #查看所有发布的镜像
docker rm <image> #删除执行已发布的镜像
设置国内镜像源
阿里云镜像源:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https:自己的地址.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
vim /etc/docker/daemon.json 进入添加registry-mirrors 内容后重启 Docker
查看是否配置成功
sudo docker info
出现一下情况就是成功了
可用镜像检测:https://status.1panel.top/status/docker
Linux配置Docker镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.1panel.live",
"https://dc.j8.work",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
参考链接:https://cloud.tencent.com/developer/article/2301228
可信镜像中心:https://atomhub.openatom.cn/
DaoCloud 镜像源:http://f1361db2.m.daocloud.io
Portainer
Portainer是一个可视化的容器镜像的图形管理工具,利用Portainer可以轻松构建,管理和维护docker环境
安装
# 搜索portainer
docker search portainer
# 拉取镜像
docker pull portainer/portainer
#创建并启动容器,注意需要做一个docker.sock文件的映射,Docker中的Linux域套接字文件,后期portainer会通过这个文件和docker的守护进程进行通讯,管理docker的相关对象
# --restart=always: 表示随着docker服务的启动而启动
docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
访问:ip:9000 第一次登陆需要设置登陆密码,密码不得少于8位
选择portainer需要管理的环境(本地还是远程)
拉取镜像
docker pull mysql:8.0.30
创建容器
开发阶段也可以连接本地mysql服务
# 拉取镜像
docker pull mysql:8.0.30
# 创建容器
docker run -d --name mysql --restart=always -p 3306:3306 -v mysql_data:/var/lib/mysql -v mysql_conf:/etc/mysql --privileged=true -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.30
docker images 查看镜像
docker ps
#1 拉取镜像
docker pull redis:7.0.10
#2 在宿主机的 /var/lib/docker/volumes/redis-config/_data/目录下创建一个redis的配置文件,
mkdir -p /var/lib/docker/volumes/redis-config/_data/
cd /var/lib/docker/volumes/redis-config/_data/
vim redis.conf
# 内容如下所示
#开启持久化
appendonly yes
port 6379
# requirepass 1234
bind 0.0.0.0
#4 创建容器
docker run -d -p 6379:6379 --restart=always -v redis-config:/etc/redis/config -v redis-data:/data --name redis redis redis-server /etc/redis/config/redis.conf
检查redis是否连接成功
docker exec -it redis /bin/bash
redis-cli