linux防火墙相关操作
systemctl restart firewalld.service # 重启服务
systemctl start firewalld # 启动服务
systemctl stop firewalld # 停止服务
firewall-cmd --state # 查看防火墙运行状态
# 添加开放端口
firewall-cmd --zone=public --add-port=3344/tcp --permanent
# 删除开放端口
firewall-cmd --zone=public --remove-port=3344/tcp --permanent
# --zone 作用域
# --add-port=5121/tcp 添加端口,格式为:端口/通讯协议
# --permanent 永久生效,没有此参数重启后失效
firewall-cmd --reload
#查看开放的端口列表
firewall-cmd --list-ports
1、安装nginx
# 1、搜索镜像 search 或者去dockerhub上搜索
docker search nginx
# 2、下载
docker pull nginx
# 3、运行测试
[root@wkf home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 6 months ago 141MB
# -d 后台运行
# --name 给容器命名
# -p 宿主机端口:容器内部端口
[root@wkf home]# docker run -d --name nginx01 -p 3344:80 nginx
647275735ae5700a8c8e5da0db6bef8d32fc4caee7bb83e193672d0c487e39a1
[root@wkf home]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
647275735ae5 nginx "/docker-entrypoint.…" 10 seconds ago Up 9 seconds 0.0.0.0:3344->80/tcp, :::3344->80/tcp nginx01
# 宿主机访问容器中的nginx
[root@wkf home]# curl localhost:3344
# 进入容器
[root@wkf ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
647275735ae5 nginx "/docker-entrypoint.…" 14 hours ago Up 14 hours 0.0.0.0:3344->80/tcp, :::3344->80/tcp nginx01
[root@wkf ~]# docker exec -it nginx01 /bin/bash
root@647275735ae5:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@647275735ae5:/# cd /etc/nginx/
root@647275735ae5:/etc/nginx# ls
conf.d fastcgi_params mime.types modules nginx.conf scgi_params uwsgi_params
2、安装tomcat
# 官方的使用,用完就删除
docker run -it --rm tomcat:9.0
# 我们之前启动的都是后台,停止了容器之后,容器还是可以查到的 docker run -it --rm,一般用来测试,用完就删除
# 启动了想退出按 Ctrl + C
# 下载在启动(推荐使用)
-d # 后台启动
[root@wkf ~]# docker pull tomcat
[root@wkf ~]# docker run -d -p 3355:8080 --name tomcat01 tomcat
7fc2d95fbc603d3e77706c764ab5545c39858bee835d460eea019edf874e828d
# 测试访问有问题 报404
# 云服务器外网ip:3355
# 进入容器检查
[root@wkf ~]# docker exec -it tomcat01 /bin/bash
# 发现问题: 1、linux命令少了,如ll。 2、没有webapps(空的)。 阿里云镜像的原因。默认是最小的镜像,所有不必要的都剔除掉。
# 解决方法 将webapps.dist 中的文件全部拷贝到webapps目录下 命令如下:
root@7fc2d95fbc60:/usr/local/tomcat# cp -r webapps.dist/* webapps
# 重新访问3355端口成功访问tomcat
3、安装mysql
# 1、拉取镜像
docker pull mysql:5.7
# 运行容器 需要做数据挂载! 安装启动mysql需要配置密码
# 官方: docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
# 2、启动挂载文件
# 将容器中/etc/mysql/conf.d 挂载到宿主机 /home/mysql/conf 存放配置文件
# 将容器中/var/lib/mysql 挂载到宿主机 /home/mysql/data 存放data数据
-d 后台运行
-p 端口映射
-v 卷挂载
-e 环境配置
--name 容器名字
[root@wkf ~]# docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=这里写自己的密码 --name mysql mysql:5.7
# 启动成功后可以用navicat测试
4 、安装es
# es 暴露的端口很多
# 数据一般需要放到安全目录! 挂载
# 先创建挂载宿主机目录
mkdir -p /home/elasticsearch/config
mkdir -p /home/elasticsearch/data/
mkdir -p /home/elasticsearch/plugins
echo "http.host: 0.0.0.0" >> /home/elasticsearch/config/elasticsearch.yml
# es是十分消耗内存的 所以需要增加内存的限制 修改配置文件
# -e 环境配置修改
# -v 挂载
# Xms JVM初始化分配内存大小
# Xmx JVM最大分配内存
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx768m" elasticsearch:7.6.2
# 具名挂载
docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx768m" -v elasticsearch-yml:/usr/share/elasticsearch/config/elasticsearch.yml -v elasticsearch-data:/usr/share/elasticsearch/data -v elasticsearch-plugins:/usr/share/elasticsearch/plugins elasticsearch:7.6.2
# 测试一下es是否启动成功
[root@wkf ~]# curl localhost:9200
{
"name" : "ca5ab49d6774",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "bSH75O3vTyel06EQdyTSJg",
"version" : {
"number" : "7.6.2",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
"build_date" : "2020-03-26T06:34:37.794943Z",
"build_snapshot" : false,
"lucene_version" : "8.4.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
# 限制后的 docker stats 查看cpu的状态
5、安装Portainer 可视化面板
# 直接run
# -v /var/run/docker.sock:/var/run/docker.sock Docker 标志启动 Portainer 容器
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
测试访问
云服务器ip:8088
添加密码:自己设置
选择本地local
连接之后进入主界面