CentOS 7和Docker使用以及常用中间件安装指南

Oracle VM Virtual Box安装CentOS 7过程

Install

启动网络服务

1
2
3
4
5
6
7
8
9
ip addr

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

ONBOOT=yes

sudo service network restart

ip addr

关机/重启命令

Shuntdown Command

  • Linux centos重启命令:
    • 1、reboot 普通重启
    • 2、shutdown -r now 立刻重启(root用户使用)
    • 3、shutdown -r 10 过10分钟自动重启(root用户使用)
    • 4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
    • 如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
  • Linux centos关机命令:
    • 1、halt 立刻关机
    • 2、poweroff 立刻关机
    • 3、shutdown -h now 立刻关机(root用户使用)
    • 4、shutdown -h 10 10分钟后自动关机

Putty连接

Putty

Firewall

安装Docker

Docker

1
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

由于国内访问不到docker官方镜像,可以通过aliyun的源来完成。

阿里云镜像

1
2
$ sudo systemctl start docker
$ sudo systemctl enable docker

Docker镜像

Docker Hub

Redis

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

1
docker pull redis

镜像加速

1
$ docker pull registry.docker-cn.com/myname/myrepo:mytag

例如:

1
$ docker pull registry.docker-cn.com/library/ubuntu:16.04
1
$ docker pull registry.docker-cn.com/library/redis:5.0-rc-alpine3.8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@localhost /]# docker pull registry.docker-cn.com/library/redis
Using default tag: latest
latest: Pulling from library/redis
802b00ed6f79: Pull complete
8b4a21f633de: Pull complete
92e244f8ff14: Pull complete
fbf4770cd9d6: Pull complete
1479f3bcce09: Pull complete
b4020173179f: Pull complete
Digest: sha256:b77926b30ca2f126431e4c2055efcf2891ebd4b4c4a86a53cf85ec3d4c98a4c9
Status: Downloaded newer image for registry.docker-cn.com/library/redis:latest
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID C REATED SIZE
registry.docker-cn.com/library/redis latest e1a73233e3be 2 weeks ago 83.4MB
[root@localhost /]# docker run -d -p 6379:6379 --name myredis registry.docker-cn.co m/library/redis
15ce42331abfdada499378b9021a6b8506028577e7411d9b4530f55678656aa3
[root@localhost /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
15ce42331abf registry.docker-cn.com/library/redis "docker-entrypoint.s…" 28 seconds ago Up 26 seconds 0.0.0.0:6379->6379/tcp myredis
1
docker run -d -p 6379:6379 --name myredis registry.docker-cn.com/library/redis
1
docker run -d -p 192.168.1.105:6379:6379 --name myredis registry.docker-cn.com/library/redis /bin/bash
1
2
3
4
5
6
$ docker ps // 查看所有正在运行容器
$ docker stop containerId // containerId 是容器的ID
$ docker ps -a // 查看所有容器
$ docker ps -a -q // 查看所有容器ID
$ docker stop $(docker ps -a -q) // stop停止所有容器
$ docker rm $(docker ps -a -q) // remove删除所有容器

6379端口防火墙

1
2
3
4
5
vi /etc/sysconfig/iptables

firewall-cmd --add-port=6379/tcp

firewall-cmd --query-port=6379/tcp

防火墙服务

启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl –failed

1
2
3
4
5
firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --zone=public --add-port=8080/tcp --permanent

firewall-cmd --zone=public --add-port=6379/tcp --permanent

Windows 查看某个端口是否被占用:

1
netstat -aon|findstr "8080"

RabbitMQ

1
2
3
docker pull registry.docker-cn.com/library/rabbitmq:3.6-management

docker run -d -p 5672:5672 -p 15672:15672 --name myrabbitmq aa516f32cebc

移除镜像:

1
2
3
4
5
docker ps -a

docker rm containerid

docker rmi imageid

Elasticsearch

1
2
3
4
5
6
7
docker search  elasticsearch

docker pull elasticsearch

docker pull registry.docker-cn.com/library/elasticsearch

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx512m" -d -p 9200:9200 -p 9300:9300 --name myelasticsearch 5acf0e8da90b

容器重命名

docker rename myelasticsearch1 myelasticsearch

spring-data-elasticsearch

Project Metadata

Version Control

spring data elasticsearch elasticsearch
3.1.x 6.2.2
3.0.x 5.5.0
2.1.x 2.4.0
2.0.x 2.2.0
1.3.x 1.5.2
1
2
3
4
5
docker pull registry.docker-cn.com/library/elasticsearch:2.4

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9200 -p 9301:9300 --name myelasticsearch1 5e9d896dc62c

docker stop myelasticsearch

MySQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
docker pull mysql

docker pull registry.docker-cn.com/library/mysql:8.0.12

docker pull registry.docker-cn.com/library/mysql:5.7

docker images |grep mysql

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

docker run --name mymysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 6a834f03bd02

/*数据卷的挂载*/
docker run -i -t --name mymysql -p 3306:3306 -v /var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 563a026a1511
error: database is uninitialized and password option is not specified 
    You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD

进入MySQL终端

教程

1
2
3
4
docker exec -it 63ca57bd6dc5 /bin/bash

mysql -h 127.0.0.1 -u root -p
mysql -h 192.168.1.105 -u root -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.12 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

查看已经创建的容器

1
docker ps -a

查看正在运行的容器

1
docker ps -s

docker stop mymysql
docker rm mymysql
docker rmi 6a834f03bd02

防火墙开启3306端口

1
2
3
4
5
6
7
firewall-cmd --query-port=3306/tcp

firewall-cmd --add-port=3306/tcp

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --query-port=3306/tcp
1
2
exit
clear

MySQL Workbench连接

连接配置

Gogs

https://blog.upx8.com/1660

https://github.com/gogs/gogs/tree/master/docker

# Pull image from Docker Hub.
$ docker pull gogs/gogs:0.11.66

# Create local directory for volume.
$ mkdir -p /var/gogs

# Use `docker run` for the first time.
$ docker run --name=mygogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs:0.11.66

# Use `docker start` if you have stopped it.
$ docker start gogs

$ mysql -u root -p
mysql> # (输入密码)
mysql> create user 'gogs'@'localhost' identified by '密码';
mysql> grant all privileges on gogs.* to 'gogs'@'localhost';
mysql> flush privileges;
mysql> exit;

然后访问 http://192.168.1.105:10080/

Bingo:

创建仓库

I Don't Want Your Money, I Want Aragaki Yui.