防火墙相关
开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
查询端口号80 是否开启:
firewall-cmd --query-port=80/tcp
重启防火墙:
firewall-cmd --reload
查询有哪些端口是开启的:
firewall-cmd --list-port
关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
DOcker相关
查看正在运行的容器
docker ps
查看有哪些镜像
docker images
拉取镜像
docker pull 镜像名
重启docker
systemctl restart docker
重新加载docker
systemctl daemon-reload
进入容器
docker exec -it 容器ID或者容器名字 /bin/bash
例如 docker exec -it mysql /bin/bash
重启实例
docker restart 实例名字
例如:docker restart mysql
创建实例命令
docker安装mysql
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/usr/local/mysql/log \
-v/mydata/mysql/data:/usr/local/mysql/data \
-v /mydata/mysql/conf:/usr/local/mysql/conf \
-e MYSQL_ROOT_PASSWORD=wby6225104 \
-d mysql:5.7
进入容器内部成功,可以发现,root@XXX变化了
ls可以看出,mysql容器其实也是一个linux系统
说明,docker的每个容器都是个linux系统,容器之间彼此隔离
mysql安装在了mysql容器中,mysql有个默认的端口是3306,但是这个端口是在mysql容器(也即是一个小的linux)中的端口,我们需要吧这个端口映射到我们真正的大的linux服务器中(-p 3306:3306),第一个3306是大linux的.
(--name)是给容器起个名字
-v:指目录挂载
我们的mysql在容器中log,conf等等都有独立的目录:/usr/local/mysql/log ,/usr/local/mysql/conf
但是我们不能每次修改配置文件都进入到容器内部修改,会很麻烦,所以才有了在大Linux中对应的挂载目录:
/mydata/mysql/log ,/mydata/mysql/conf
dokcer安装Nginx
docker run -p 80:80 --name my-nginx -v /mydata/nginx/nginx.conf:/usr/local/nginx/nginx.conf -d nginx:1.18.0
docker安装redis
docker run -p 6379:6379 --name myredis -v /mydata/redis/redis.conf:/usr/local/redis/redis.conf -d redis redis-server /usr/local/redis/redis.conf --appendonly yes
docker报错
docker: Error response from daemon: Conflict. The container name "/mysql" is already in use by container "fa59ab6f4ba63003765bd701a13e7b733d0a790039bccf2b22d319e7ddff33cd". You have to remove (or rename) that container to be able to reuse that name.
docker中已经有了同名容器,要重新使用则使用docker restart 容器名字
[root@izbp11uxsxjl0hdgici7wnz conf]# docker restart mysql
Error response from daemon: Cannot restart container mysql: driver failed programming external connectivity on endpoint mysql (b0b7f5af436fe9eb49e3e10dafb98a1af02cb1675c48e0c38dfc8e7ed8f97373): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DNAT --to-destination 172.18.0.2:3306 ! -i docker0: iptables: No chain/target/match by that name.
重启docker服务
systemctl restart docker