docker
docker ps | docker ps -a
nginx
docker run --name nginx -p 80:80 -v /home/docker-nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/docker-nginx/log:/var/log/nginx -v /home/docker-nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -d nginx
docker run --name nginx -p 80:80 -v /home/docker-nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/docker-nginx/log:/var/log/nginx -v /home/docker-nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /home/docker-nginx/www:/usr/share/nginx/html -d nginx
MySQL
- docker pull mysql:5.7 # 拉取 mysql 5.7
- docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=superadmin@#^% -d mysql:5.7 #启动
- docker exec -it mysql bash #进入
- GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘superadmin@#^%’ WITH GRANT OPTION;
- FLUSH PRIVILEGES;
- quit;
- docker exec -it dc29a874e483 bash -c "mysql -uroot -p "; # 从宿主机进入docker的mysql 没有安装客户端时
- firewall-cmd --zone=public --add-port=3306/tcp --permanent
- firewall-cmd --reload
这时就可以看到MySQL可以远程连接了;但是若是用的腾讯云服务器;还需要设置入栈规则;放开3306
0.0.0.0/0 TCP:3306
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=superadmin@#^% -d mysql:5.7
–name:容器名,此处命名为mysql
-e:配置信息,此处配置mysql的root用户的登陆密码
-p:端口映射,此处映射 主机3306端口 到 容器的3306端口
-d:后台运行容器,保证在退出终端后容器继续运行
- 如果要建立目录映射
duso docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
- -v:主机和容器的目录映射关系,":"前为主机目录,之后为容器目录
sudo docker exec -it mysql bash
mysql -uroot -psuperadmin@#^%
update user set host = '%' where user = 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'superadmin@#^%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit
grant all privileges on *.* to root@'%' identified by 'superadmin@#^%';
docker exec -it dc29a874e483 bash -c "mysql -uroot -p"; superadmin@#^%
打开端口
# 开放端口:
$ systemctl status firewalld
$ firewall-cmd --zone=public --add-port=3306/tcp --permanent
$ firewall-cmd --reload
# 关闭防火墙:
$ sudo systemctl stop firewalld
firewall-cmd --zone=public --add-port=5672/tcp --permanent # 开放5672端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口
firewall-cmd --reload # 配置立即生效
2、查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
3.、关闭防火墙
如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估
systemctl stop firewalld.service
4、查看防火墙状态
firewall-cmd --state
5、查看监听的端口
netstat -lnpt
PS:centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools
6、检查端口被哪个进程占用
netstat -lnpt |grep 5672
7、查看进程的详细信息
ps 6832
8、中止进程
kill -9 6832