四、docker系列之docker安装常用软件

docker安装常用软件

目录

docker安装常用软件

docker安装运行redis

一、DockerHup redis仓库

二、镜像拉取

三、镜像启动

四、参数解析

docker安装运行mysql

一、拉取镜像

二、运行镜像

docker部署运行单机kafka

拉取zookeeper并运行

拉取kafka镜像并运行

命令配置:

注意

docker安装nginx

一、拉取镜像

二、在宿主机的/root/docker/nginx下创建配置文件nginx.conf

三、运行如下命令

四、放行端口

 

 


配置国内docker源

https://blog.csdn.net/m0_37886429/article/details/80323149?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control

docker安装运行redis

一、DockerHup redis仓库

redis docker官方镜像库地址:https://hub.docker.com/_/redis
有详细的用法

二、镜像拉取

      不指定版本号,则默认使用latest最新版本

docker pull redis

或者拉取指定版本号

docker pull redis:6.0.8

三、镜像启动

  • 一般启动
docker run -d -p 6379:6379 redis
  • 设置密码启动
docker run --name redis -d -p 6379:6379 redis  --requirepass "password" 
  • 设置配置文件启动
docker run --name redis -v /root/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -d -p 6379:6379 redis redis-server /usr/local/etc/redis/redis.conf
  • 开机启动
docker run --name redis -d -p 6379:6379 --restart=always  redis  --requirepass "password" 

四、参数解析

  • -d:后台运行,守护进程(daemon);
  • -p:映射端口,port,映射容器端口到本机端口,先写本地后容器
  • --name:定义容器名称
  • -v:映射文件或文件夹,volume,先本地后容器
  • --restart:重启策略,
    • no:任何情况下,不重启容器
    • on-failure:容器非0退出,重新启动容器
    • always:任何情况下,容器没有启动,则启动容器

注意:开机启动前提,docker服务首先要是开机启动的systemctl enable docker

docker安装运行mysql

一、拉取镜像

docker pull mysql //拉取最新镜像

docker pull mysql:5.7 //拉取指定版本镜像

一般我们会指定版本,这里使用5.7,有哪些版本可以到DockerHub查看,上面也有详细用法,镜像默认都是在DockerHub上拉取

二、运行镜像

docker run --name mysql-5.7  --privileged=true -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:5.7

 

参数浅析

  • --name mysql-5.7 给容器命名,名字可以随便起,已启动容器没有重名即可,如果有重名的需要删除之前的,docker ps -a 查看所有容器,停止正在运行的容器docker stop 'containerId'docker rm删除容器;具体命令docker命令参考docker常用命令
  • -v映射本地目录或文件到容器,这里分别映射数据存储和mysql配置,/home/mysql/conf为文件夹,映射到容器/etc/mysql/conf.d目录,容器启动时会从conf.d加载配置文件,/home/mysql/conf文件夹下包含mysql.cnf文件中写mysql配置(如下);
[mysqld]
lower_case_table_names=1

 

  • /home/mysql/data为mysql数据存储,防止容器重启数据丢失;
  • -e设置参数,-e MYSQL_ROOT_PASSWORD=root设置root账号密码为root
  • -p映射端口,映射本机3306到容器3306
  • --privileged=true解决CentOS下映射目录权限问题chown: changing ownership of '/var/lib/mysql/': Permission denied
  • -d守护进程,容器后台运行

docker部署运行单机kafka

拉取zookeeper并运行

docker pull wurstmeister/zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

 

拉取kafka镜像并运行

docker pull wurstmeister/kafka
docker run -d --name kafka -p 9092:9092 --link zookeeper -e KAFKA_ZOOKEEPER_CONNECT=10.103.237.33:2181 -e KAFKA_ADVERTISED_HOST_NAME=10.103.237.33 -e KAFKA_ADVERTISED_PORT=9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka

 

命令配置:

  • KAFKA_ZOOKEEPER_CONNECT :指定 zookeeper 的 “地址:端口”,请更换自己的ip和端口;
  • KAFKA_ADVERTISED_HOST_NAME:kafka安装机器ip;

注意

  • 启动kafka后,如果连接不上zookeeper,提示
    Socket error occurred: 10.103.237.33/10.103.237.33:2181: Host is unreachable (org.apache.zookeeper.ClientCnxn)需要加防火墙2181端口,命令(CentOS 7):
firewall-cmd --add-port=2181/tcp --permanent
systemctl restart firewalld

 

添加端口需要重启防火墙

  • 9092端口可能也需要加入防火墙策略,具体根据日志提示
    (我遇到的情况:telnet 2181是通的,但还是要加防火墙策略才能正常启动kafka)

docker安装nginx

一、拉取镜像

docker pull nginx 

二、在宿主机的/root/docker/nginx下创建配置文件nginx.conf

cd /root/docker/nginx
vi nginx.conf

三、运行如下命令

docker run --name nginxSoft -v /root/docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/file/:/usr/local/file/ -p 80:80 -d nginx  

四、放行端口

firewall-cmd --add-port=80/tcp --permanent
systemctl restart firewalld

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值