Docker篇(安装容器)

目录

一、安装mysql容器

1. 拉取mysql镜像

2. 创建并运行容器

二、安装Tomcat容器

1. 拉取镜像

2. 创建并运行容器

三、安装Nginx容器

1. 拉取镜像

2. 创建并运行容器

四、安装Redis容器

1. 拉取镜像

2. 创建并运行容器

五、安装RabbitMQ

1. 拉取镜像

2. 创建并运行容器

六、安装ActiveMQ

1. 拉取镜像

2. 创建并运行容器

七、安装Zookeeper

1. 拉取镜像

2. 创建并运行容器

八、安装Kafka

1. 拉取镜像

2. 创建并运行容器

九、安装Svn

第一步:拉取centos镜像

第二步:运行这个镜像

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

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

第五步:安装svn

十、安装Solr

第一步:启动docker

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

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

第四步:创建core

第五步:进入到solr容器

十一、安装Git

第一步: gitlab镜像拉取

第二步:运行gitlab镜像

第三步:配置

第四步:重启gitlab容器

第五步:创建一个项目

第六步:用户使用

1、下载git.exe

2、登录gitlab网页

3、设置ssh

4、从gitlab克隆代码

5、提交代码到gitlab

十二、安装Fastdfs

1. 拉取镜像

2. 创建并启动 tracker 容器

3. 创建并启动 storage 容器

4. 客户端测试

查看文件存储的目录

十三、安装elasticsearch

第一步:拉取elasticsearch的镜像

第二步:启动elasticsearch的实例

第三步:配置远程访问

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

十四、安装Nacos

步骤一:确保安装Docker

步骤二:拉取Nacos的Docker镜像

步骤三:运行 Nacos 容器

步骤四:检查容器状态

步骤五:访问Nacos

十五、安装Portainer

1. 搜索 Portainer 相关镜像

2. 运行镜像

本机模式

远程模式

3. 访问Portainer容器

4. 问题

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

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

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

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

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:management15672:控制台端口号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/repoAuthentication 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-a4bdd73bbcf2can 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网页

url:http://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*/@Testpublic 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 ServerTrackerServer ts = tc.getConnection();if (ts == null) {System.out.println("getConnection return null");return;}//获取一个storage serverStorageServer 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*/@Testpublic 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);}/*** 下载文件*/@Testpublic 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/462156.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python酷库之旅-第三方库Pandas(187)

目录 一、用法精讲 866、pandas.Index.T属性 866-1、语法 866-2、参数 866-3、功能 866-4、返回值 866-5、说明 866-6、用法 866-6-1、数据准备 866-6-2、代码示例 866-6-3、结果输出 867、pandas.Index.memory_usage方法 867-1、语法 867-2、参数 867-3、功能 …

PostgreSQL 到 PostgreSQL 数据迁移同步

简述 PostgreSQL 是一个历史悠久且广泛使用的数据库&#xff0c;不仅具备标准的关系型数据库能力&#xff0c;还具有相当不错的复杂 SQL 执行能力。用户常常会将 PostgreSQL 应用于在线事务型业务&#xff0c;以及部分数据分析工作&#xff0c;所以 PostgreSQL 到 PostgreSQL …

JDK的下载

目录 JDK官网 Windows Ubantu 1.安装JDK 2.确定JDK版本 卸载OpenJDK Centos 1.下载JDK 2.安装JDK 3.验证JDK JDK官网 官网网址&#xff1a;Java Downloads | Oracle Windows 双击运⾏exe⽂件, 选择安装⽬录, 直⾄安装完成 Ubuntu 1.安装JDK 更新软件包 sudo apt u…

(56)MATLAB分析码间串扰信道的传递函数与频率响应

文章目录 前言一、3个存在码间串扰的信道二、信道特性仿真三、仿真结果四、迫零均衡器与MMSE均衡器仿真总结 前言 线性均衡器的性能完全取决于通信信道的特性。本文设计了三个不同传输特性的信道&#xff0c;给出了其传递函数系数&#xff0c;然后计算并绘制了各自的频率响应。…

etcd多实例配置

多实例进行配置&#xff0c;分别在多个不同端口进行监听&#xff0c;避免开启单机部署监听端口冲突&#xff1b; 查看go版本&#xff1a; go version 若没有go环境&#xff0c;则进行下载&#xff0c;解压至/usr/local后进行环境配置&#xff0c;编辑vim ~./bashrc vim ~./b…

029_Common_Plots_Matlab常见二维绘图

常用的二维绘图 常用绘图包括下面的种类&#xff1a; 线图&#xff0c; plot柱图&#xff0c; bar梯步图&#xff0c;stairstep误差棒图&#xff0c;errorbar极坐标图&#xff0c;polarplot跟图&#xff0c;stem散点图&#xff0c;scatter 这些命令都可以通过help xxx来查看…

NuGet Next发布,全新版私有化NuGet管理

NuGet Next发布&#xff0c;全新版私有化NuGet管理 NuGet Next是一款基于BaGet的一款私有化NuGet管理平台&#xff0c;我们对BaGet进行了扩展&#xff0c;并且提供了更多的功能。 NuGet 最新版开源私有化包管理&#xff0c;我们基于BaGet的基础之上增加了更多的功能&#xff…

STM32 从0开始系统学习5

目录 STM32 GPIO输入的四种模式 Practice And Usage 练习与封装 Detailed And Reference 更加具体的说明 输入浮空模式 输入上拉模式 输入下拉模式 模拟功能 我们下面聊一聊输入的事情&#xff0c;输入指的是我们的处理器从外部端口接受外设发过来的信号。在我们没有接…

PHP反序列化原生类字符串逃逸框架反序列化利用

PHP反序列化 概念 序列化的原因&#xff1a;为了解决开发中数据传输和数据解析的一个情况(类似于要发送一个椅子快递&#xff0c;不可能整个椅子打包发送&#xff0c;这是非常不方便的&#xff0c;所以就要对椅子进行序列化处理&#xff0c;让椅子分成很多部分在一起打包发送…

WonderWorld: Interactive 3D Scene Generation from a Single Image 论文解读

目录 一、概述 二、相关工作 1、新视图生成 2、单视图3D场景生成 3、视频生成 4、快速的3D场景表示 三、WonderWorld 1、FLAGS表示 2、引导深度扩散模块 3、单视角层次生成 4、基于几何的初始化 surfel表示 5、阶段一——生成3D场景部分 6、阶段二——用户交互控…

网络:IP分片和组装

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言16位标识&#xff0c;3位标志&#xff0c;13位片偏移分片组装总结 前言 对于IP分片和组装的总结 当一个IP数据报的大小超过网络的MTU(最…

从0到1搭建flink程序-WordCount(图文/详细/mac)

目录 一、目标以及前置资料 1.1 目标 1.2 前置资料 二、实现 2.1 搭建流程 2.2 调试 参考 一、目标以及前置资料 1.1 目标 初步感受flink任务&#xff0c;从0到1快速搭建一个flink程序 1.2 前置资料 1、下载jdk&#xff1a;Mac 安装jdk_mac 安装jdk 1.8-CSDN博客 2、…

ctfshow——web(总结持续更新)

文章目录 1、基础知识部分2、php伪协议2.1 php://input协议2.2 data://text/plain协议 3、webshell连接工具3.1 蚁剑连接一句话木马 4、各个web中间件重要文件路径4.1 Nginx 5、sqlmap使用6、php特性6.1 md5加密漏洞 7、TOP 10漏洞7.1 SQL注入 1、基础知识部分 识别base64编码…

FineReport 倒计时特效

1、代码准备 将下面的代码生成对应文件 1.1、zzsc.js 这段代码是一个JavaScript计时器脚本&#xff0c;用于计算从当前时间到第二天午夜&#xff08;即0点&#xff09;之间的时间差&#xff0c;并将这个时间差显示在网页上的特定元素中。具体来说&#xff0c;它会实时更新页…

【Linux】编辑器vim 与 编译器gcc/g++

目录 一、编辑器vim&#xff1a; 1、对vim初步理解&#xff1a; 2、vim的模式&#xff1a; 3、进入与退出&#xff1a; 4、vim命令模式下的指令集&#xff1a; 移动光标&#xff1a; 删除&#xff1a; cv&#xff1a; 撤销&#xff1a; 其他&#xff1a; 5、vim底行模…

虚拟机 Ubuntu 扩容

文章目录 一、Vmware 重新分配 Ubuntu 空间二、Ubuntu 扩容分区 一、Vmware 重新分配 Ubuntu 空间 先打开 Vmware &#xff0c;选择要重新分配空间的虚拟机 点击 编辑虚拟机设置 &#xff0c;再点击 硬盘 &#xff0c;再点击 扩展 选择预计扩展的空间&#xff0c;然后点击 扩展…

【搜索引擎】俄罗斯搜索引擎yandex

俄罗斯搜索引擎yandex 1997年&#xff0c;俄罗斯搜索引擎Yandex&#xff08;俄语意为&#xff1a;语言目录&#xff09;首次上线&#xff0c;已发展成为全球第四大搜索引擎和第二大非英语搜索引擎 https://yandex.com/

【深度学习】CrossEntropyLoss需要手动softmax吗?

【深度学习】CrossEntropyLoss需要手动softmax吗&#xff1f; 问题&#xff1a;CrossEntropyLoss需要手动softmax吗&#xff1f;答案&#xff1a;不需要官方文档代码解释 问题&#xff1a;CrossEntropyLoss需要手动softmax吗&#xff1f; 之前用 pytorch 实现自己的网络时&…

Uniapp的H5以及App不支持后端传FormData类型参数的解决方案

在uniapp中不支持FormData的传参&#xff0c;这就很恶心&#xff1b;如果强行传的话会提示&#xff0c;请求失败的报错信息。 因为后端必须要FormData类型的传参&#xff0c;所以在查阅一系列方案后&#xff0c;有一种解决办法可以完美解决。 代码&#xff1a; init() {const…

img 标签的 object-fit 属性

设置图片固定尺寸后&#xff0c;可以通过 object-fit 属性调整图片展示的形式 object-fit: contain; 图片的长宽比不变&#xff0c;相应调整大小。 object-fit: cover; 当图片的长宽比与容器的长宽比不一致时&#xff0c;会被裁切。 object-fit: fill; 图片不再锁定长宽…