一、安装docker
卸载旧版本
旧版本的 Docker 称为 docker 或者 docker-engine,使用以下命令卸载旧版本:
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
使用 yum 安装docker
鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。
执行下面的命令添加yum
软件源:
sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
# 官方源
# $ sudo yum-config-manager \
# --add-repo \
# https://download.docker.com/linux/centos/docker-ce.repo
执行以下命令安装依赖包:
sudo yum install -y yum-utils
安装 Docker
更新 yum 软件源缓存,并安装 docker-ce。
sudo yum install docker-ce docker-ce-cli containerd.io
CentOS8 额外设置
由于 CentOS8 防火墙使用了 nftables,但 Docker 尚未支持 nftables, 我们可以使用如下设置使用iptables:
更改 /etc/firewalld/firewalld.conf
# FirewallBackend=nftables
FirewallBackend=iptables
或者执行如下命令:
firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --reload
启动docker服务
systemctl start docker
建立 docker 用户组
默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。
建立 docker 组:
sudo groupadd docker
将当前用户加入 docker 组:
sudo usermod -aG docker $USER
镜像加速
如果在使用过程中发现拉取 Docker 镜像十分缓慢,可以配置 Docker 国内镜像加速。
请首先执行以下命令,查看是否在 docker.service 文件中配置过镜像地址。
systemctl cat docker | grep '\-\-registry\-mirror'
如果该命令有输出,那么请执行
systemctl cat docker
查看 ExecStart= 出现的位置,修改对应的文件内容去掉 --registry-mirror 参数及其值,并按接下来的步骤进行配置。
如果以上命令没有任何输出,那么就可以在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。
之后重新启动服务。
sudo systemctl daemon-reload
sudo systemctl restart docker
添加内核参数
如果在 CentOS 使用 Docker 看到下面的这些警告信息:
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
请添加内核配置参数以启用这些功能。
sudo tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
然后重新加载 sysctl.conf 即可
sudo sysctl -p
二、安装docker-compose
什么是docker-compose
安装 Docker 并不会自动安装 Docker Compose。Docker和Docker Compose是两个独立的工具,需要单独安装。
当你安装 Docker 时,你只安装了 Docker 引擎,也就是 Docker 运行时环境,它允许你创建、运行和管理容器化的应用程序。
要使用 Docker Compose,你需要单独安装它。Docker Compose 是一个用于定义和管理多个 Docker 容器的工具,它允许你通过一个命令同时启动、停止和管理多个容器,以创建一个完整的应用程序堆栈。
你可以按照之前提供的安装步骤来安装 Docker Compose,该步骤涉及下载 Docker Compose 的可执行文件并将其添加到系统的 PATH 环境变量中。
所以请确保在安装 Docker 后,按照相应的步骤单独安装 Docker Compose。这样你就可以使用 Docker Compose 来管理多个容器了。
安装docker-compose
确保已安装 Docker:在安装 Docker Compose 之前,你需要先安装 Docker。确保你的系统上已经安装了 Docker,并且 Docker 正常运行。
下载 Docker Compose 可执行文件:Docker Compose 可以作为一个独立的二进制文件进行安装。你可以使用以下命令下载最新版本的 Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
这个命令会将 Docker Compose 下载并保存到 /usr/local/bin/docker-compose 文件中。
授权 Docker Compose 可执行文件:下载完成后,需要将下载的 Docker Compose 文件授予执行权限。使用以下命令添加执行权限:
sudo chmod +x /usr/local/bin/docker-compose
验证安装:安装完成后,运行以下命令验证 Docker Compose 是否成功安装:
docker-compose --version
如果安装成功,将显示 Docker Compose 的版本信息。
现在,你已经成功安装了 Docker Compose。你可以在终端中使用 docker-compose 命令来管理 Docker 容器和服务。
三、安装apollo
下载配置文件
mkdir -p /data/docker-quick-start/sql
cd /data/docker-quick-start
下载docker-compose.yml:
https://github.com/apolloconfig/apollo-quick-start/blob/master/docker-compose.yml
cd sql
下载sql文件:
https://github.com/apolloconfig/apollo-quick-start/blob/master/sql/apolloconfigdb.sql
https://github.com/apolloconfig/apollo-quick-start/blob/master/sql/apolloportaldb.sql
下载后的文件如下:
- docker-quick-start
- docker-compose.yml
- sql
- apolloconfigdb.sql
- apolloportaldb.sql
启动
在docker-quick-start目录下执行docker-compose up
,第一次执行会触发下载镜像等操作,需要耐心等待一些时间。(如果失败需要多试几次,或更换源vim /etc/docker/daemon.json
)
看到以下日志说明启动成功:
注1:数据库的端口映射为13306,所以如果希望在宿主机上访问数据库,可以通过localhost:13306,用户名是root,密码留空。
注2:如要查看更多服务的日志,可以通过docker exec -it apollo-quick-start bash登录, 然后到/apollo-quick-start/service和/apollo-quick-start/portal下查看日志信息。
常用操作命令
停止运行:docker-compose stop(这将仅停止容器,而不会删除它们。)
启动容器:docker-compose start(用于启动已经创建的、处于停止状态的容器)
删除容器:docker-compose down(!!!会完全停止和删除
容器组,包括所有的数据)
评论(0)