团队知识库Wiki.js部署_Docker-composer

369 阅读2分钟

本教程以Cent0S-7.6来演示

1、将虚拟机安装完毕后进行网络配置

 vi /etc/sysconfig/network-scripts/ifcfg-ens33

2、网络设置为DHCP模式(需网络环境支持dhcp获取);手动固定IP自己网上查,这里不赘述。

<vi界面“a”、”i”为编辑模式;“w”、“q”、“x”分别为保存、退出、保存退出;其中”wq”强制保存退出并更新时间;“x”为如未做修改则不保存。>

	......

	BOOTPROTO=dhcp

	......
	DEVICE=ens33
	ONBOOT=yes
	DNS1=8.8.8.8
	DNS2=192.168.2.24
	

点击esc后输入:x即可保存

3、测试网络并更新yum工具

	[root@localhost ~]# ping baidu.com
	PING baidu.com (39.156.66.10) 56(84) bytes of data.
	64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=1 ttl=128 time=39.0 ms
	64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=2 ttl=128 time=38.3 ms
	64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=3 ttl=128 time=38.8 ms
  ......
 
	[root@localhost ~]# yum update -y
	Loaded plugins: fastestmirror
	Loading mirror speeds from cached hostfile
	 * base: ftp.sjtu.edu.cn
	 * extras: ftp.sjtu.edu.cn
	 * updates: ftp.sjtu.edu.cn
	base                                                     | 3.6 kB     00:00
	docker-ce-stable                                         | 3.5 kB     00:00
	extras                                                   | 2.9 kB     00:00
	updates                                                  | 2.9 kB     00:00
	Resolving Dependencies
	--> Running transaction check
	......

4、安装docker-ce(通过脚本安装方便,和手动区别在于添加仓库源)

国内:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

官方:

curl -sSL https://get.daocloud.io/docker | sh

安装完成检测并设置自启

	[root@localhost ~]# docker --version

	Docker version 24.0.4, build 3713ee1

	[root@localhost ~]# systemctl start docker

	[root@localhost ~]# systemctl enable docker 

5、创建docker自定义网络(为更好了解架构及方便后续方便管理堆栈)

	docker network create --driver bridge --subent 172.18.0.0/16 --gateway 172.18.0.1 mynet

6、部署可视化docker网页管理容器-portainer-ce

docker run -d -p 9000:9000 --restart=always --network mynet --ip 172.18.0.2 -v /var/run/docker.sock:/var/run/docker.sock -v /home/docker/portainer/data:/data –name portainer 6053537/portainer-ce

7、进入portainer后台

http://虚拟机IP:9000

8、portainer添加堆栈

(1)进入local管理本地docker: image-1024x498.png

(2)创建堆栈: image-1-1024x501.png

(3)在下方输入docker-composer内容点击部署,部署期间需要拉取镜像,视网络情况决定(我挂国内源也是下了半小时): image-2-1024x501.png

	version: "3"
	services:
	  db:
	    image: postgres:11-alpine
	    environment:
	      POSTGRES_DB: wiki
	      POSTGRES_PASSWORD: wikijsrocks
	      POSTGRES_USER: wikijs
	    logging:
	      driver: "none"
	    restart: unless-stopped
	    volumes:
	      - /home/docker/postgres/data:/var/lib/postgresql/data

	  wiki:
	    image: ghcr.io/requarks/wiki:2
	    depends_on:
	      - db
	    environment:
	      DB_TYPE: postgres
	      DB_HOST: db
	      DB_PORT: 5432
	      DB_USER: wikijs
	      DB_PASS: wikijsrocks
	      DB_NAME: wiki
	    restart: unless-stopped
	    ports:
	      - "80:3000"
	volumes:
	  data:

说明:先前创建的自定义网络并没有应用到次配置文件,db容器无IP仅内部访问如需外部管理需进db容器内添加外部访问权限。

9、部署没有问题会看到2个容器正在运行

image-3-1024x502.png

这里可以看到容器名、运行状态、快捷操作、归属堆栈、使用镜像、创建时间、内部IP地址、资源占用(不知道啥)、端口映射以及所有权。

10、进入wiki.js后台

http://虚拟机IP

image-4-1024x554.png 总结:安装步骤大概如此,个别内容非原创,只做个人记录及经验分享。