centos8安装docker-compose

centos8安装docker-compose

浏览次数:
信息来源: 用户投稿
更新日期: 2026-02-25
文章简介

一、安装Docker 1、我是虚拟机装的Centos7,linux3.10内核,docker官方说至少3.8以上,建议3.10以上(ubuntu下要linux内核3.8以上) root账户登录,查

2025阿里云双十一服务器活动

一、安装Docker

1、我是虚拟机装的Centos7,linux3.10内核,docker官方说至少3.8以上,建议3.10以上(ubuntu下要linux内核3.8以上)

root账户登录,查看内核版本如下

(期间要选择确认,输入y即可)

3、安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2

yum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)

5、可以查看所有仓库中所有docker版本,并选择特定版本安装

yumlistdocker-ce--showduplicates|sort-r

6、安装Docker,命令:yuminstalldocker-ce-版本号,我选的是docker-ce-18.03.1.ce,如下

yuminstalldocker-ce-18.03.1.ce

(期间要选择确认,输入y即可)

7、启动Docker,命令:systemctlstartdocker,然后加入开机启动,如下:

systemctlstartdocker#启动docker

systemctlenabledocker#设置docker为开机自启

sudodockerrun--rmhello-world#启动docker中的hello-word

二、接下来安装doceker-compose

1、运行以下命令下载DockerCompose的当前稳定版本:

sudocurl-L"https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose

2、将可执行权限应用于二进制文件:

sudochmod+x/usr/local/bin/docker-compose

3、注意:如果命令docker-compose在安装后失败,请检查您的路径。您也可以创建指向/usr/bin或路径中任何其他目录的符号链接。

sudoln-s/usr/local/bin/docker-compose/usr/bin/docker-compose

4、检查docker-compose是否安装成功

doceker-compose--version

三、安装与配置Git

1、在Linux上是有yum安装Git,非常简单,只需要一行命令:

查看Git是否安装完成以及查看其版本号

gitconfig--globaluser.name"xxx"

gitconfig--globaluser.email"xxxxx@xx.com"

gitconfig--globalcore.autocrlffalse

gitconfig--globalgui.encodingutf-8

3、执行下面的命令,一直回车,直到结束

ssh-keygen-trsa-C"xxxxx@xxx.com"

cat~/.ssh/id_rsa.pub

5、登陆GitHub,点击setting>SSHandGPGkeys>NewSSHKey将生成的密钥复制到Key中即可

ssh-Tgit@github.com

7、出现这样一段话,即证明配置成功。

HiRoninLee!You"vesuccessfullyauthenticated,butGitHubdoesnotprovideshellaccess.

四、后端部署

1、运行以下命令拉起源码:

gitclonehttps://github.com/bigbaser/TcloudServer.git

2、进入到TcloudServerdeploy目录下,使用以下命令,拉取所有(等待一会,拉取时间较长)

3、然后修改local_config.py文件,

#这里的账号密码是在docker-compose.yml中配置的,改成以下

SQLALCHEMY_DATABASE_URI="mysql://root:tc123456@mysql:3306/demo?charset=utf8"

4、再初始化kong的数据库(如果报错,再执行一次,成功的话会显示Databaseisup-to-date)

$sudodocker-composeup-dkong_database

//容器启动以后,数据库会本地挂载到https://www.zyhot.com/article/volumes/kong_database里面

//但由于权限问题,初始化数据库会失败,所以要先对该文件赋予权限

$sudochmod-R777https://www.zyhot.com/article/volumes/kong_database

$sudodocker-composerun--rmkongkongmigrationsbootstrap

$sudodocker-composeup-d

$sudodocker-composeps

centos8安装docker-compose

sudodockerlogs<name>查看日志

8、打开konga(kong的管理页面,http://localhost:9001),注册账号并登录,再新建连接,地址为http://kong:8001

9、成功后,进入SNAPSHOT页面,点击IMPORTFROMFILE,选择我们的kong.json文件,并进入DETAILS中RESTORE,全选导入,可能会出错,再执行一次即可,此时我们的网关服务已经运行完成,地址为http://localhost:9000

ps:数据库初始化文件是init/init.sql,可以通过sudodocker-composedown-v再删除volume/mysql挂载目录之后,sudodocker-composeup-d来重新初始化数据库

五、前端部署

从CentOS储存库安装Node.js和npm

可以从标准CentOS存储库中安装Node.js和npm。

通过运行以下命令列出提供nodejs软件包的模块:

yummodulelistnodejs

要在CentOS系统上安装默认的Node.js软件包,请输入:

sudoyummoduleinstallnodejs

node--version#检查node是否安装成功

npm--version#检查npm是否安装成功

2、使用以下命令拉取前端代码:

gitclonehttps://github.com/bigbaser/Tcloud.git

3、在前端项目的根目录下执行:npminstall安装依赖包

4、安装依赖包如报以下错:

npminstall-gcnpm--registry=https://registry.npm.taobao.org

sudoln-s{此处为你安装npm的路径}.npm-global/bin/cnpm/usr/local/bin/cnpm

cnpm--version检查是否安装成功。

5、修改config/dev.env.js与index.js文件中的BASE_URL地址为http://0.0.0.0

7、在非localhost域名下登录不成功,可以打开开发者工具,查看Application下的Cookies是否有JWT_TOKEN_TCLOUD_DEV。

如果没有,找到前端项目Tcloud/src/store/modules/login.js,修改第57行,把

domain:process.env.NODE_ENV==="development"?"localhost":COOKIE_DOMAIN

domain:COOKIE_DOMAIN

然后修改config下的dev.env.js,把COOKIE_DOMAIN改成前端当前访问域名即可。

一、dockerpull镜像时报错:

ERROR:Gethttps://registry-1.docker.io/v2/:dialtcp:lookupregistry-1.docker.ioonsuchhost

ERROR:Gethttps://registry-1.docker.io/v2/:dialtcp:lookupregistry-1.docker.ioonxxx.xxx.xxx.xxx:xxxx:lamereferral

Errorresponsefromdaemon:Gethttps://index.docker.io/v1/search?q=sameersbn&n=25:dialtcp:lookupindex.docker.ioon192.168.65.1:53:readudp192.168.65.2:45190->192.168.65.1:53:i/otimeout

Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)

二、分析问题:

问题1、2这个是因为DNS域名没有解析的原因。

问题3网络连接超时,这情况涉及到很多因素。

三、解决办法:

问题:1、2:

vi/etc/resolv.conf增加一行DNS地址:例如:nameserver114.114.114.114(此方法服务器重启之后会失效。参考方法2:vi/etc/sysconfig/network-scripts/ifcfg-ens33打开网卡配置文件,在配置文件中添加:DNS1=”8.8.8.8”,DNS2=”114.114.114.114”)

保存之后,继续执行拉取镜像的命令,即可!

问题:3:

3.1通过dig@114.114.114.114registry-1.docker.io找到可用IP

3.2尝试修改/etc/hosts强制docker.io相关的域名解析到其它可用IP

3.3保存之后重试即可:dockersearchsameersbn

附一些常用Docker命令,更多命令详解,请访问:http://www.docker.org.cn/dockerppt/106.html:

—-dockerps查看当前正在运行的容器

—-dockerps-a查看所有容器的状态

—-dockerstart/stopid/name启动/停止某个容器

—-dockerattachid进入某个容器(使用exit退出后容器也跟着停止运行)

—-dockerexec-tiid启动一个伪终端以交互式的方式进入某个容器(使用exit退出后容器不停止运行)

—-dockerimages查看本地镜像

—-dockerrmid/name删除某个容器

—-dockerrmiid/name删除某个镜像

&8211;nametest-tiubuntu/bin/bash?复制ubuntu容器并且重命名为test且运行,然后以伪终端交互式方式进入容器,运行bash

—-dockerbuild-tsoar/centos:7.1.?通过当前目录下的Dockerfile创建一个名为soar/centos:7.1的镜像

&8211;nametest?soar/centos:7.1?以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,并做端口映射到宿主机2222端口,P参数重启容器宿主机端口会发生改变

参考:https://github.com/bigbaser/TcloudServer/blob/master/deploy/docs/Docker%E9%83%A8%E7%BD%B2.md

标签:
电子邮件服务提供商
« 上一篇
返回列表
下一篇 »

如本文对您有帮助,就请抽根烟吧!