Docker篇(安装容器)

目录

一、安装mysql容器

[1. 拉取mysql镜像](#1. 拉取mysql镜像)

[2. 创建并运行容器](#2. 创建并运行容器)

二、安装Tomcat容器

[1. 拉取镜像](#1. 拉取镜像)

[2. 创建并运行容器](#2. 创建并运行容器)

三、安装Nginx容器

[1. 拉取镜像](#1. 拉取镜像)

[2. 创建并运行容器](#2. 创建并运行容器)

四、安装Redis容器

[1. 拉取镜像](#1. 拉取镜像)

[2. 创建并运行容器](#2. 创建并运行容器)

五、安装RabbitMQ

[1. 拉取镜像](#1. 拉取镜像)

[2. 创建并运行容器](#2. 创建并运行容器)

六、安装ActiveMQ

[1. 拉取镜像](#1. 拉取镜像)

[2. 创建并运行容器](#2. 创建并运行容器)

七、安装Zookeeper

[1. 拉取镜像](#1. 拉取镜像)

[2. 创建并运行容器](#2. 创建并运行容器)

八、安装Kafka

[1. 拉取镜像](#1. 拉取镜像)

[2. 创建并运行容器](#2. 创建并运行容器)

九、安装Svn

第一步:拉取centos镜像

第二步:运行这个镜像

第三步:接下来我们要进入容器

第四步:进去之后,更新系统。

第五步:安装svn

十、安装Solr

第一步:启动docker

第二步:下拉solr镜像(推荐使用5.5.5版本)

第三步:安装solr(安装使用本机模式)

第四步:创建core

第五步:进入到solr容器

十一、安装Git

[第一步: gitlab镜像拉取](#第一步: gitlab镜像拉取)

第二步:运行gitlab镜像

第三步:配置

第四步:重启gitlab容器

第五步:创建一个项目

第六步:用户使用

1、下载git.exe

2、登录gitlab网页

3、设置ssh

4、从gitlab克隆代码

5、提交代码到gitlab

十二、安装Fastdfs

[1. 拉取镜像](#1. 拉取镜像)

[2. 创建并启动 tracker 容器](#2. 创建并启动 tracker 容器)

[3. 创建并启动 storage 容器](#3. 创建并启动 storage 容器)

[4. 客户端测试](#4. 客户端测试)

查看文件存储的目录

十三、安装elasticsearch

第一步:拉取elasticsearch的镜像

第二步:启动elasticsearch的实例

第三步:配置远程访问

[第四步:启动 mobz/elasticsearch-head:5](#第四步:启动 mobz/elasticsearch-head:5)

十四、安装Nacos

步骤一:确保安装Docker

步骤二:拉取Nacos的Docker镜像

[步骤三:运行 Nacos 容器](#步骤三:运行 Nacos 容器)

步骤四:检查容器状态

步骤五:访问Nacos

十五、安装Portainer

[1. 搜索 Portainer 相关镜像](#1. 搜索 Portainer 相关镜像)

[2. 运行镜像](#2. 运行镜像)

本机模式

远程模式

[3. 访问Portainer容器](#3. 访问Portainer容器)

[4. 问题](#4. 问题)

[5. 查看各种操作系统相关信息](#5. 查看各种操作系统相关信息)

[5.1. Linux查看当前操作系统版本信息](#5.1. Linux查看当前操作系统版本信息)

[5.2. Linux查看版本当前操作系统内核信息](#5.2. Linux查看版本当前操作系统内核信息)

[5.3. linux查 看版本当前操作系统发行信息](#5.3. linux查 看版本当前操作系统发行信息)

[5.4. Linux查看cpu相关信息](#5.4. Linux查看cpu相关信息)


一、安装mysql容器

1. 拉取mysql镜像

docker pull centos/mysql-57-centos7   
docker pull mysql

2. 创建并运行容器

> docker run -di --name=tensquare_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=zhengge  centos/mysql-57-centos7 
# 或者
> docker run -di --name=tensquare_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=zhengge mysql 

启动成功日志
d81df2492094  centos/mysql-57-centos7   "container-entrypoin..."   6 seconds ago Up 5 seconds                  0.0.0.0:33306->3306/tcp   mymysql


 # 查看日志
docker logs -f mymysql

p 代表端口映射,格式为 宿主机映射端口:容器运行端口

-e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的登陆密码

(3)远程登录mysql

连接宿主机的IP ,指定端口为33306

二、安装Tomcat容器

1. 拉取镜像

docker pull tomcat:7-jre7

2. 创建并运行容器

创建容器 -p表示地址映射

docker run -di --name=mytomcat -p 9000:8080 tomcat:7-jre7    
docker run -di --name=mytomcat -p 9000:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre7   

如果需要同时启动多个tomcat。那么需要去修改server.xml文件

# 创建tomcat容器实例
> docker run -di --name=mytomcat2 -p 9100:8081 tomcat:7-jre7
# 进入容器目录
> docker exec -it 容器ID /bin/bash
# 切换到conf目录,修改server.xml
> cd /conf
> vim server.xml
# 查看日志
docker logs -f mytomcat2

三、安装Nginx容器

1. 拉取镜像

docker pull nginx

2. 创建并运行容器

docker run -di --name=mynginx -p 80:80 nginx   
 # 查看日志
docker logs -f mynginx

四、安装Redis容器

1. 拉取镜像

docker pull redis   

2. 创建并运行容器

docker run -di --name=myredis -p 6379:6379 redis

在window操作系统中,找一个redis客户端进行测试。执行如下命令

redis-cli.exe -h 192.168.189.139 -p 6379

 # 查看日志
docker logs -f myredis

五、安装RabbitMQ

1. 拉取镜像

docker pull rabbitmq:management

2. 创建并运行容器

docker run -di --name=myrabbit -p 15672:15672 rabbitmq:management
--hostname:指定容器主机名称
--name:指定容器名称
-p:将mq端口号映射到本地

或在运行时设置用户和密码
docker run -di --name=myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672  rabbitmq:management
 15672:控制台端口号
 5672:应用访问端口号
 
 # 查看日志
docker logs -f myrabbit

容器运行正常

使用 http://127.0.0.1:15672 访问rabbit控制台

六、安装ActiveMQ

1. 拉取镜像

8161是后台管理系统,61616是给java用的tcp端口

# 搜索镜像
> docker search activemq
# 拉取镜像
> docker pull webcenter/activemq 

2. 创建并运行容器

# 创建activemq的容器
> docker run -di --name myactivemq -p 8161:8161 -p 61616:61616 webcenter/activemq
# 访问http://192.168.189.139:8161 (默认账号和密码是:admin/admin)

# 查看日志
docker logs -f myactivemq

七、安装Zookeeper

1. 拉取镜像

默认端口:2888

# 镜像下载
docker pull zookeeper

2. 创建并运行容器

# 启动 ZK 镜像
docker run -di --name my_zookeeper -p 2888: zookeeper:latest
# 使用 ZK 命令行客户端连接 ZK
docker run -it --rm --link my_zookeeper:zookeeper zookeeper zkCli.sh -server zookeeper

这个命令会在后台运行一个 zookeeper 容器, 名字是 my_zookeeper, 并且它默认会导出 2181 端口.

接着我们使用:

docker logs -f my_zookeeper

八、安装Kafka

1. 拉取镜像

> docker pull wurstmeister/zookeeper
> docker pull wurstmeister/kafka

2. 创建并运行容器

> docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
> docker run -di --name kafka -e KAFKA_ADVERTISED_PORT=9092 -e KAFKA_BROKER_ID=1 -e ZK=zk -e KAFKA_ZOOKEEPER_CONNECT=192.168.189.139:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.189.139:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -p 9092 --link zookeeper:zk -t wurstmeister/kafka

测试发送消息

# 执行docker ps,找到kafka的CONTAINER ID,进入容器内部:
> docker exec -it ${CONTAINER ID} /bin/bash 

# 进入kafka默认目录
> cd opt/kafka_2.11-0.10.1.1/ 

#下面就是跟一般的kafka没什么区别了
#创建一个主题:
> bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic mykafka

# 运行一个消息生产者,指定topic为刚刚创建的主题
> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka

九、安装Svn

第一步:拉取centos镜像

docker pull daocloud.io/library/centos:7

第二步:运行这个镜像

docker run --name svn --hostname svnserver -it -p 3691:3690 -d daocloud.io/library/centos:7

这里需要注意:

  1. svn的默认端口是3690,我们在这里把他映射为宿主服务器的3691;
  2. -it这个参数是必须要加的,以前运行了很多镜像,都可以不加这个参数,所以失败了很多次,一直都怀疑是镜像问题。
  3. --hostname是强迫症。

第三步:接下来我们要进入容器

docker exec -it svn /bin/bash

第四步:进去之后,更新系统。

yum update

更新系统是我的习惯,我总是喜欢最新的系统状态。强迫症。

第五步:安装svn

yum install subversion

下来该创建文件夹了。我把文件夹放在home下面。

> cd /home
> mkdir svn
# 然后创建一个库。
> svnadmin create /home/svn/repo/
# 这里的repo就是我的版本库了。在这个库里面可以看到很多东西,不截图了。
> cd /home/svn/repo
> ll
# 进入conf文件夹,可以少打几个字母。
> cd conf

接下来的三步很重要:

1:修改配置文件

vi /home/svn/repo/conf/svnserve.conf

打全路径是便于识别,后面就不用了,都在这个文件夹下。

这里主要把几个注释掉的参数释放出来。

anon-access = none                #控制非鉴权用户访问版本库的权限
auth-access = write                 #控制鉴权用户访问版本库的权限
password-db = passwd           #指定用户名口令文件名
authz-db = authz                     #指定权限配置文件名

修改完保存退出。

2:添加设置用户和密码

vi /home/svn/repo/conf/passwd

主要在[users]下面设置用户名和密码。

[users]
# harry = harryssecret
# sally = sallyssecret
chris = 123456
kaly = 123456
alice = 123456

前面是用户名,后面是密码。然后保存退出。

3:最后修改权限设置。

先分组,在[groups]下面做分组设置。

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = kaly
user = alice
java = chris,kaly
再在后面对分组设置权限r为可读,w为可写。
 
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[repo:/]
@admin = rw
@user = r
@java = rw
* =

repo是我创建的库,我只在这里对根目录进行权限分配。如果还在在这里建立子库,则添加节点分配权限。

后面的* = 是将除上面配置以外的用户权限设置为全面禁止。没有做测试。

4:设置完成了,运行svn。

svnserve -d -r /home/svn/

5:在宿主系统(我这里还是centos7)中测试一下。

> svn co svn://39.108.186.86:3691/repo

Authentication realm: <svn://192.168.189.140:3691> 09ad8e9b-dffa-4466-9cbe-a4bdd73bbcf2
Password for 'root': 
Authentication realm: <svn://192.168.189.140:3691> 09ad8e9b-dffa-4466-9cbe-a4bdd73bbcf2
Username: keke 输入账号
Password for 'keke':  输入密码

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <svn://192.168.189.140:3691> 09ad8e9b-dffa-4466-9cbe-a4bdd73bbcf2

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
Checked out revision 0. 连接成功!

6:使用客户端工具idea或者eclipse或者 TortoiseSVN测试即可。

svn://39.108.186.86:3691/repo

十、安装Solr

第一步:启动docker

systemctl start docker

第二步:下拉solr镜像(推荐使用5.5.5版本)

docker pull solr:5.5.5

第三步:安装solr(安装使用本机模式)

docker run --name my_solr -id --net host -t solr:5.5.5

第四步:创建core

docker exec -it --user=solr my_solr bin/solr create_core -c mycore

创建成功后会可看到的提示

Copying configuration to new core instance directory:
/opt/solr/server/solr/mycore(表示创建的json存在磁盘哪个位置)

Creating new core 'mycore' using command:
http://localhost:8983/solr/admin/cores?action=CREATE&name=mycore&instanceDir=mycore

{

"responseHeader":{
"status":0,(表示创建核的状态0表示成功)
"QTime":2530},(表示创建时使用的时间(单位:毫秒))
"core":"mycore"}(表示创建后你核的名字

}

第五步:进入到solr容器

docker  exec -it  my_solr bash

创建成功后输入你的ip地址+加solr在网页上输出

剩余的IK分词器的集成参考:docker集成solr_solr dock-CSDN博客

或者参考前面讲解的solr篇,进行修改。

十一、安装Git

第一步: gitlab镜像拉取

# gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
docker pull gitlab/gitlab-ce

第二步:运行gitlab镜像

$ docker run -d  -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

运行成功后出现一串字符串

第三步:配置

按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,

生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。

作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb

(宿主机路径:/home/gitlab/config/gitlab.rb)。

# gitlab.rb文件内容默认全是注释
$ vim /home/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.199.231'

# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出

第四步:重启gitlab容器

# 重启gitlab容器
$ docker restart gitlab

此时项目的仓库地址就变了。如果ssh端口地址不是默认的22,就会加上ssh:// 协议头。

打开浏览器输入ip地址(因为我的gitlab端口为80,所以浏览器url不用输入端口号,如果端口号不是80,则打开

为:ip:端口号)

第五步:创建一个项目

第一次进入要输入新的root用户密码,设置好之后确定就行,访问:http://192.168.189.141

初次访问可能时间会有点久,请耐心等待即可== 也可以通过:docker logs gitlab 查看

下面我们就可以新建一个项目了,点击Create a project

Create a project

创建完成后:

创建完成!

第六步:用户使用

1、下载git.exe

双击git.exe安装git(一直点下一步,直到完成)

点击电脑桌面空白地方右键看到如下两行即安装成功

2、登录gitlab网页

urlhttp://192.168.1.111

填写账号密码登录

登录页面

3、设置ssh

1、打开本地git bash,使用如下命令生成ssh公钥和私钥对

$ ssh-keygen -t rsa -C 'xxx@xxx.com'

然后一路回车(-C 参数是你的邮箱地址)

生成密匙

2、然后输入命令:

# ~表示用户目录,比如我的windows就是C:\Users\Administrator,并复制其中的内容
$ cat ~/.ssh/id_rsa.pub

公匙

3、打开gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的

文本框

添加公匙到gitlab

4、从gitlab克隆代码

1、回到gitlab页面点击projects->your projects

2、选择一个需要克隆的项目,进入

我的项目页面

3、点击按钮复制地址

复制ssh地址

4、新建一个文件夹,我在这里在我的电脑D盘下新建project文件夹

5、进入projects文件夹右键选择->Git Bash Here

点击Git Bash Here

6、设置用户名和邮箱

$ git config --global user.name "你的名字"
$ git config --global user.email "你的邮箱"

设置名字和邮箱

7、克隆项目

$ git clone 项目地址

克隆项目

8、查看projects文件夹,项目已经克隆下来了

项目目录

5、提交代码到gitlab

1、基于以上步骤,在克隆的项目文件夹下新增一个测试文件

新增txt文件

2、查看同步状态

在项目文件夹下右键点击->Git Bash Here

输入

$ git status

状态

可以看到红色部分有需要提交的文件

3、提交代码

输入

$ git add  测试提交的文件.txt

("git add"后加"."则添加全部文件,也可以加"*.txt"表示添加全部需要提交的txt文件 )

add需要提交的文件

然后输入以下命令提交并添加提交信息

$ git commit -m "message"

commit

最后输出以下命令提交到gitlab

$ git push origin master

push

提交完成啦

再回到gitlab上看该项目就可以看到多了一个txt测试文件

十二、安装Fastdfs

1. 拉取镜像

docker pull morunchang/fastdfs

2. 创建并启动 tracker 容器

docker run -d --name=tracker -v /home/fastdfs_docker/fdfs/tracker:/data/fast_data --privileged=true --net=host morunchang/fastdfs sh tracker.sh

3. 创建并启动 storage 容器

创建并启动storage容器,此处只做单机版测试

注意:由于 tracker 容器使用 host 网络模式、与宿主公用 network namespace, 因此 tracker 容器 ip 与宿主机

ip 一致

docker run -d --name=storage -v /home/fastdfs_docker/fdfs/storage_data:/data/fast_data --privileged=true --net=host -e TRACKER_IP=192.168.189.141:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh

4. 客户端测试

1、创建maven测试工程 pom.xml

<dependency>
    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-test</artifactId>

    <!--<scope>test</scope>-->
</dependency>

<!-- https://mvnrepository.com/artifact/net.oschina.zcx7878/fastdfs-client-java -->
<dependency>
    <groupId>net.oschina.zcx7878</groupId>

    <artifactId>fastdfs-client-java</artifactId>

    <version>1.27.0.0</version>

</dependency>

<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
    <groupId>commons-io</groupId>

    <artifactId>commons-io</artifactId>

    <version>2.6</version>

</dependency>

2、在classpath:config下创建fastdfs-client.properties文件

#http连接超时时间
fastdfs.connect_timeout_in_seconds = 5  
#tracker 与 storage 通信连接超时时间
fastdfs.network_timeout_in_seconds = 60 
#字符编码
fastdfs.charset = UTF-8 
#tracker_server_ip
fastdfs.tracker_servers = 192.168.189.141:22122 

3、上传文件测试,下载,查看文件信息

package com.zheng.travel.fastdfsdemo;

import org.csource.common.NameValuePair;
import org.csource.fastdfs.*;
import org.junit.Test;

import java.io.File;
import java.io.FileOutputStream;

public class UploadController {

    /**
     * 上传文件
     * @throws Exception
     */
    @Test
    public void testUpload() throws Exception{

        ClientGlobal.initByProperties("fastdfs-client.properties");
        System.out.println("network_timeout=" + ClientGlobal.g_network_timeout + "ms");
        System.out.println("charset=" + ClientGlobal.g_charset);
        //创建客户端
        TrackerClient tc = new TrackerClient();
        //连接tracker Server
        TrackerServer ts = tc.getConnection();
        if (ts == null) {
            System.out.println("getConnection return null");
            return;
        }
        //获取一个storage server
        StorageServer ss = tc.getStoreStorage(ts);
        if (ss == null) {
            System.out.println("getStoreStorage return null");
        }
        //创建一个storage存储客户端
        StorageClient1 sc1 = new StorageClient1(ts, ss);
        NameValuePair[] meta_list = null; //new NameValuePair[0];
        String item = "D:\\1.png";
        String fileid;
        fileid = sc1.upload_file1(item, "png", meta_list);
        System.out.println("Upload local file " + item + " ok, fileid=" + fileid);
    }

    /**
     * 查询文件
     * @throws Exception
     */
    @Test
    public void testQueryFile() throws Exception{
        ClientGlobal.initByProperties("fastdfs-client.properties");
        TrackerClient tracker = new TrackerClient();
        TrackerServer trackerServer = tracker.getConnection();
        StorageServer storageServer = null;
        StorageClient storageClient = new StorageClient(trackerServer,
                storageServer);
        FileInfo fileInfo = storageClient.query_file_info("group1",
                "M00/00/00/wKi9jVzOoeqAHK1TAACYbHFtmWA582.png");
        System.out.println(fileInfo);
    }


    /**
     * 下载文件
     */
    @Test
    public void testDownloadFile() throws Exception {
        ClientGlobal.initByProperties("fastdfs-client.properties");
        TrackerClient tracker = new TrackerClient();
        TrackerServer trackerServer = tracker.getConnection();
        StorageServer storageServer = null;
        StorageClient1 storageClient1 = new StorageClient1(trackerServer,
                storageServer);
        byte[] result = storageClient1.download_file1("group1/M00/00/00/wKi9jVzOoeqAHK1TAACYbHFtmWA582.png");
        File file = new File("d:/12.png");
        FileOutputStream fileOutputStream = new FileOutputStream(file);
        fileOutputStream.write(result);
        fileOutputStream.close();
    }

}

查看文件存储的目录

第一步:进入到fastdfs系统

# 进入fastdfs文件系统
docker exec -it cd9036354185 /bin/bash

第二步:查看文件系统存储的目录

最终文件存放在:/data/fast_data/data/00/00

十三、安装elasticsearch

第一步:拉取elasticsearch的镜像

docker pull docker.elastic.co/elasticsearch/elasticsearch:6.7.1

或者使用Dockerfile

https://docs.docker.com/samples/library/elasticsearch/

#Elasticsearch 6.7.1

# This image re-bundles the Docker image from the upstream provider, Elastic. 
FROM docker.elastic.co/elasticsearch/elasticsearch:6.7.1@sha256:4b945a65ffef04f317bba80dadb6557c3aa3a124e5b6c1ec65b53dde77846527

# The upstream image was built by:
#   https://github.com/elastic/dockerfiles/tree/v6.7.1/elasticsearch

# For a full list of supported images and tags visit https://www.docker.elastic.co

# For Elasticsearch documentation visit https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html

# See https://github.com/docker-library/official-images/pull/4916 for more details.

docker build --tag=es6.7.1 .

意义是一样的。

第二步:启动elasticsearch的实例

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.7.1

然后访问 http://192.168.189.141:9200

{
  "name" : "KUuxI31",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "O-2OQTGQTt6Xxpufi3CjHw",
  "version" : {
    "number" : "6.7.1",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "2f32220",
    "build_date" : "2019-04-02T15:59:27.961366Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

第三步:配置远程访问

# 查看容器列表
> docker ps -a
# 进入elasticsearch容器
> docker exec -it elasticsearch容器ID /bin/bash
> ls
# 进入到config目录
> cd config
# vi ES配置文件elasticsearch.yml加入2个参数,并重启
# (没有vi apt-get update 然后 apt-get install -y vim)
http.cors.enabled: true
http.cors.allow-origin: "*"
# 重启容器
> docker restart 容器名/ID 
# 重启docker(不用执行)
> systemctl  restart docker
# 查看启动日记
> docker logs 容器ID/名称

第四步:启动 mobz/elasticsearch-head:5

docker pull mobz/elasticsearch-head:5
docker run -di --name='eshead' -p 9100:9100 docker.io/mobz/elasticsearch-head:5
然后打开浏览器: 192.168.189.141:9100 填入ES地址

十四、安装Nacos

Docker 安装Nacos

Docker 安装 Nacos 的步骤如下:

步骤一:确保安装Docker

首先,确保你已经安装了 Docker。如果没有安装,请先安装 Docker。

步骤二:拉取Nacos的Docker镜像

打开终端或命令提示符,并执行以下命令来拉取 Nacos 的 Docker 镜像:

docker pull nacos/nacos-server 

步骤三:运行 Nacos 容器

下载完成后,执行以下命令来创建并运行 Nacos 容器:

docker run --name nacos -p 8848:8848 -d nacos/nacos-server 

这将创建一个名为 "nacos" 的容器,并将容器的 8848 端口映射到主机的 8848 端口。

步骤四:检查容器状态

等待一段时间,直到容器启动完成。你可以使用以下命令来检查容器的状态:

docker ps 

如果容器的状态为 "Up",则表示 Nacos 已经成功安装并运行。

步骤五:访问Nacos

现在,你可以通过访问 http://121.40.151.95:8848/nacos 来访问 Nacos 的管理界面。

十五、安装Portainer

1. 搜索 Portainer 相关镜像

搜索 Portainer 相关镜像,以免错过更好的第三方镜像

docker search portainer

下载选定的Portainer镜像,这里我们选择下载量最多的官方镜像,如果未指定版本则默认为最新版本,latest版本

docker pull portainer/portainer

2. 运行镜像

本机模式

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --restart=always --name prtainer portainer/portainer

远程模式

docker run -d -p 9000:9000 --restart=always --name prtainer portainer/portainer

3. 访问Portainer容器

访问Portainer容器:http://IP:9000

  • 首次登录需要设置admin的密码
  • 选择docker连接
    • 选择Local,代表本地模式,portainer仅管理本机的docker容器
    • 选择Remote,代表远程模式,名称随意,在Endpoint URL中填写docker节点的地址:docker远程端口(docker安装教程中的设置的-H 0.0.0.0:2375中的2375)

如果是云服务器,记得在服务器开发9000的端口,方可访问。

4. 问题

bash: vim: command not found

在使用docker时,有时候我们需要编辑配置文件,需要使用vim或者vi命令,但是会发现:

bash: vi: command not found

这是因为vim没有安装,使用如下命令安装:

apt-get install vim

一般而言,又会出现如下问题:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package vim

此时需要:

root@76eb8d6dea73:~# apt-get update

然后再:

apt-get install vim

5. 查看各种操作系统相关信息

5.1. Linux查看当前操作系统版本信息

cat /proc/version

Linux version 2.6.32-696.el6.x86_64 (mockbuild@c1bm.rdu2.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) ) #1 SMP Tue Mar 21 19:29:05 UTC 2017

5.2. Linux查看版本当前操作系统内核信息

uname -a

Linux localhost.localdomain 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 athlon i386 GNU/Linux

5.3. linux查 看版本当前操作系统发行信息

cat /etc/issue

或者

cat /etc/centos-release

CentOS release 6.9 (Final)

5.4. Linux查看cpu相关信息

Linux查看cpu相关信息,包括型号、主频、内核信息等

cat /etc/cpuinfo
相关推荐
梅见十柒1 小时前
wsl2中kali linux下的docker使用教程(教程总结)
linux·经验分享·docker·云原生
意疏15 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
墨鸦_Cormorant15 小时前
使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像
redis·nginx·docker
Code_Artist15 小时前
Docker镜像加速解决方案:配置HTTP代理,让Docker学会科学上网!
docker·云原生·容器
wanmei00217 小时前
Dockerfile复制目录进入镜像里
docker
inter_peng17 小时前
[Docker-显示所有容器IP] 显示docker-compose.yml中所有容器IP的方法
tcp/ip·docker·eureka
Linux运维日记17 小时前
k8s1.31版本最新版本集群使用容器镜像仓库Harbor
linux·docker·云原生·容器·kubernetes
一名路过的小码农19 小时前
ceph 18.2.4二次开发,docker镜像制作
ceph·docker·容器
xiangshangdemayi21 小时前
Windows环境GeoServer打包Docker极速入门
windows·docker·容器·geoserver·打包·数据挂载
程序员JerrySUN1 天前
熟悉的 Docker,陌生的 Podman
linux·docker·容器·系统架构·podman