搭建docker

初始化安装

# 查看系统版本
 cat /etc/redhat-release

# 移除掉原来安装的docker
yum -y remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

# 卸载
yum remove -y docker-ce docker-ce-cli containerd.io

# 启用仓库的文件
yum-config-manager --enable docker-ce-nightly

# 配置yum aliyun源
## 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
## 下载
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
## 生成缓存
yum makecache

# 配置centos docker-ce 源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 更新yum
yum update -y

# 安装依赖软件
yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

安装最新版

# 安装docker-ce
yum install -y docker-ce docker-ce-cli containerd.io

为k8s 安装指定版本

https://docs.docker.com/install/linux/docker-ce/centos/#install-from-a-package

# 查看所有版本
yum list docker-ce --showduplicates | sort -r

# 选择 18.06.3.ce-3.el7
yum install -y docker-ce-18.06.3.ce-3.el7 docker-ce-cli-18.06.3.ce-3.el7 containerd.io
# 查看所有版本
yum list docker-ce --showduplicates | sort -r

# 选择 18.06.3.ce-3.el7
yum install -y docker-ce-18.06.3.ce-3.el7 docker-ce-cli-18.06.3.ce-3.el7 containerd.io

验证安装

# 启动docker
systemctl start docker

# 允许开机自启
systemctl enable docker

# 配置镜像源加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://q4jtpmzm.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

# 运行一个demo镜像
docker run hello-world

可能会遇到的问题

网络

# 修改网络配置
vi /etc/sysctl.conf
## 添加如下内容
# net.ipv4.ip_forward=1

# 重启网络
systemctl restart network

数据卷

挂载数据卷需要设置该数据卷的权限(777)

外网访问不了

访问docker需要强制使用-p指令去映射端口,即使内外端口一致

管理docker的工具

docker stack

自带工具

docker compose

管理docker的工具

搭建:

​ 参考文档: https://docs.docker.com/compose/install/

# 下载到指定位置
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 授予可执行权限
sudo chmod +x /usr/local/bin/docker-compose

卸载:

# 删除docker compose二进制文件即可
sudo rm /usr/local/bin/docker-compose

查看版本:

docker-compose -version
# 例如:	docker-compose version 1.23.2, build 1110ad01

docker swarm

# 初始化集群
docker swarm init --advertise-addr 192.168.71.220

# 查看加入集群工作节点的指令
docker swarm join-token worker

# 查看docker swarm的信息
docker info

# 退出docker swarm集群
docker swarm leave --force

# 删除docker swarm manager 中列表数据中 已经离开docker swarm的子节点信息
docker node rm --force otutp8noc3dxcgikrnxxw5bm7

portainer

# 数据卷
rm -rf /data/tristan/portainer/*
mkdir -p /data/tristan/portainer

cd /data/tristan

# 管理docker swarm集群
docker service create \
--name portainer \
--publish 9876:9000 \
--constraint 'node.role == manager' \
--mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \
--mount type=volume,src=portainer,dst=/data \
portainer/portainer \
-H unix:///var/run/docker.sock

# 运行
docker run -d -p 9876:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /data/tristan/portainer:/data portainer/portainer -H unix:///var/run/docker.sock

http://192.168.71.221:9876 admin/portainer

镜像收藏

rabbitmq

参考资料:

https://hub.docker.com/_/rabbitmq

# 拉取镜像
docker pull rabbitmq

# 运行镜像
docker run -d --hostname my-rabbit --name myrabbit  -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password rabbitmq:3-management

访问:

http://192.168.71.245:15672

猜你喜欢

转载自blog.csdn.net/qq_35559756/article/details/89447688