一、安装Docker
yum安装docker
- 把yum包更新到最新
[root@hl-web ~]# yum update
2.安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖
[root@hl-web ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
3.设置docker的yum源
[root@hl-web ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4.查看所有仓库所有docker版本,并选择特定的版本安装
[root@hl-web ~]# yum list docker-ce --showduplicates | sort -r
[root@hl-web ~]# yum install docker-ce-17.12.1.ce
5.启动docker,并加入开机自启
[root@hl-web ~]# systemctl start docker.service
[root@hl-web ~]# systemctl enable docker.service
6.验证docker是否安装成功并在容器中执行一个测试的镜像
[root@hl-web ~]# docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
................
[root@hl-web ~]# docker version
Client:
Version: 17.12.1-ce
API version: 1.35
Go version: go1.9.4
Git commit: 7390fc6
Built: Tue Feb 27 22:15:20 2018
OS/Arch: linux/amd64
Server:
Engine:
Version: 17.12.1-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.4
Git commit: 7390fc6
Built: Tue Feb 27 22:17:54 2018
OS/Arch: linux/amd64
Experimental: false
镜像加速
1.登录阿里云控制台,搜索“镜像加速”,找到centos镜像加速文档
2.配置镜像加速器
[root@hl-web ~]# mkdir -p /etc/docker
[root@hl-web ~]# tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://nw5ajym5.mirror.aliyuncs.com"]
}
EOF
[root@hl-web ~]# systemctl daemon-reload
[root@hl-web ~]# systemctl restart docker.service
[root@hl-web ~]# docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
................
部署solo
1.登录MariaDB并手动创建库(库名solo,字符集使用 utf8mb4,排序规则 utf8mb4_general_ci)
[root@hl-web ~]# mysql -u root -p
Enter password:
...............
MariaDB [(none)]> create database solo DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Query OK, 1 row affected (0.001 sec)
2.docker获取solo最新镜像
[root@hl-web ~]# docker pull b3log/solo
Using default tag: latest
latest: Pulling from b3log/solo
e7c96db7181b: Pull complete
f910a506b6cb: Pull complete
c2274a1a0e27: Pull complete
85a2dacd9187: Pull complete
ee2eb56986c1: Pull complete
6ab58fb3f05c: Pull complete
Digest: sha256:f9a755492a0b8f424800c75a649122897a4489a443d695c035994cc32fc0f23a
Status: Downloaded newer image for b3log/solo:latest
4.修改nginx的配置文件
[root@hl-web ~]# vim /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name www.hl666.com;
location / {
proxy_pass http://192.168.33.10:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
3.启动容器
[root@hl-web ~]# docker run --detach --name solo --network=host -e "SERVER_NAME=www.hl666.com" -e "SERVER_PORT=80" -e "SERVER_SCHMEA=http" --env RUNTIME_DB="MYSQL" --env JDBC_USERNAME="root" --env JDBC_PASSWORD="123456" --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" --env JDBC_URL="jdbc:mysql://192.168.33.10:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" b3log/solo --listen_port=8080 --server_host=192.168.33.10
4.浏览器输入192.168.33.10:8080测试是否搭建成功