docker安装--pull镜像--部署容器

docker安装–pull镜像–部署容器


1.环境准备
# 1.升级centos7环境工具
yum -y groupinstall "Development tools"
# 2.安装工具
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel wget -y
# a.安装gcc环境  
yum -y install gcc  
 yum -y install gcc-c++  
# b.如果之前安装过docker,卸载旧版本  
yum remove docker  
# c.安装所需要的软件包 
yum install -y yum-utils device-mapper-persistent-data lvm2 
2.安装docker
# 0.设置yum
yum -y update  # 可不选
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo  # 必须执行
# 1.安装docker
yum install docker-ce -y
或
yum install docker-ce docker-ce-cli containerd.io
# 2.启动Docker 
systemctl start docker 
# 3.查看docker版本
docker version  
# 4.加入开机启动
systemctl enable docker
# 5.验证安装是否成功(有client和service两部分表示docker安装启动都成功了)如下图:
# 6.镜像源变更为阿里云镜像
---------1---------
sudo mkdir -p /etc/docker
---------2---------
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://rp3ikae6.mirror.aliyuncs.com"]
}
EOF
---------end--------- 
# 7.重启Docker
systemctl daemon-reload  
systemctl restart docker  

在这里插入图片描述

3.拉取docker镜像
# docker容器每次开机自启
docker update a_rabbitmq --restart=always
▶1.mysql 5.7
docker pull mysql:5.7  
# a).创建守护式容器   
docker run -di --name=a_mysql -p 3306:3306 -v/usr/local/apps/mysql:/usr/local/mysql -v /usr/local/apps/mysql/config:/usr/local/mysql/config -e MYSQL_ROOT_PASSWORD=123456 --privileged=true mysql:5.7  
 
# 2.1.另一种安装方式
docker run -di --name=a_mysql -p 3306:3306 -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 --privileged=true mysql:5.7 
# 2.2.在/mydata/mysql/conf创建my.cnf文件,添加如下配置
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
▶2.Tomcat8+jdk8
docker pull tomcat:8.5-jre8  
# a).创建守护式容器 (挂载目录webdata/logs),(需要在webdata文件夹中配置tomcat的4个文件夹)
docker run -di --name=a_tomcat -p 8080:8080 -v /usr/local/apps/tomcat/webapps:/usr/local/tomcat/webapps -v /usr/local/apps/tomcat/logs:/usr/local/tomcat/logs --privileged=true tomcat:8.5-jre8
# b). 参数:  --privileged=true   (--privileged=true来解决挂载的目录没有权限的问题)
# c). [docker run -di --name=b_tomcat -p 8090:8080 tomcat:8.5-jre8]
▶3.Redis
docker pull redis 
# a).创建守护式容器
docker run -di --name=a_redis -p 6379:6379 -v /usr/local/apps/redis:/usr/local/redis --privileged=true redis 
# b)另一种创建方式
docker run -di --name=a_redis -p 6379:6379 -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf --privileged=true redis redis-server /etc/redis/redis.conf 
▶4.MongoDB
docker pull mongo
# a).创建守护式容器
docker run -di --name a_mongodb -v /usr/local/apps/mongodb:/usr/local/mongodb -p 27017:27017 --privileged=true mongo   

docker run -di --name a_mongodb -v /mydata/mongodb/data:/data/db -p 27017:27017 --privileged=true mongo
	  # b1). -v后面的参数表示把数据文件挂载到宿主机的路径
	  # b2). -p把mongo端口映射到宿主机的指定端口
	  # b3). --auth表示连接mongodb需要授权
▶5.RabbitMQ
docker pull rabbitmq:management
# a).创建RabbitMQ容器
docker run -di --name=a_rabbitmq -p 5671:5617 -p 5672:5672 -p4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 --privileged=true rabbitmq:management      
       # b1).-- 15672 (if management plugin is enabled.管理界面 )
       # b2).-- 15671 management监听端口
       # b3).-- 5672, 5671 (AMQP 0-9-1 without and with TLS 消息队列协议是一个消息协议)
       # b4).-- 4369 (epmd) epmd 代表 Erlang 端口映射守护进程
       # b5).-- 25672 (Erlang distribution)
# c). -- 03.输入用户名和密码,都为guest . 进入http://127.0.0.1:15672主界面
▶6.Elasticsearch
------ 拉取镜像
 docker pull elasticsearch:7.4.2
 docker pull kibana:7.4.2
 
 mkdir -p /mydata/elasticsearch/config
 mkdir -p /mydata/elasticsearch/data
 
 # 注意写入yml文件的配置冒号后面加空格 
 echo "http.host: 0.0.0.0">>/mydata/elasticsearch/config/elasticsearch.yml
 # 给 /mydata/elasticsearch包下所有文件设置可读可写可执行权限
 chmod -R 777 /mydata/elasticsearch 
 
------ 创建容器
 docker run --name a_elasticsearch -p 9200:9200 -p:9300:9300 \
 -e"discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
 -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
 -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
 -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
 -d elasticsearch:7.4.2 

# kibana容器
docker run --name a_kibana -e ELASTICSEARCH_HOST=http://192.168.220.160:9200 -p 5601:5601 -d kibana:7.4.2 
# http://192.168.220.160:9200一定要改为自己虚拟机的地址 
 

在访问 Kibana 时,有可能会出先 Kibana server is not ready yet 的问题 ,原因是因为 ELASTICSEARCH_URL 配置的应该是容器的 ip,而不是本地ip

# 1.首先我们查看 ElasticSearch 的容器内部 ip:
$ docker inspect --format '{{ .NetworkSettings.IPAddress }}'  容器ID
# 2.然后进入 Kibana 容器内部,修改 kibana.yml 中的ip
$ docker exec -it kibana容器id /bin/bash
$ cd config
$ vi kibana.yml

# 3.只需要将下面的 "http://elasticsearch:9200" 中的 elasticsearch 替换成上一步的es容器内部ip即可。
#
# ** THIS IS AN AUTO-GENERATED FILE **
#
# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true



★★★小知识点★★★

# 更改某一用户密码
passwd admin123 # 回车
123456 # 回车

a_elk a_elasticsearch






------

### ★★★小知识点★★★

```sh
# 更改某一用户密码
passwd admin123 # 回车
123456 # 回车
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值