当前位置:   article > 正文

Docker命令及软件安装_mysql_random_root_password=yes

mysql_random_root_password=yes

时光、不会辜负每一个平静努力的人
Docker命令及软件安装
发表于 2019-03-07 | 更新于 2019-11-13 | 分类于 Docker | 阅读次数: 74
Docker命令及软件安装
一、Docker简介

Docker的简介及一些说明请自行百度,主要了解虚拟化,镜像,容器等概念。
  • 1

二、Docker安装

​ Docker官方建议在Ubuntu中安装,因为Docker是基于Ubuntu发布的,而且一般Docker出现的问题Ubuntu是最先更新或者打补丁的。在很多版本中CentOS是不支持更新最新的一些补丁包的的。写本文时三个版本都体验过这里主要以Deepin(Ubuntu的衍生版)。
  • 1

2.2、Ubuntu中安装

    注:如果安装过则可以,/var/lib/docker/保留包括图像,容器,卷和网络在内的内容。

使用apt-get命令安装
  • 1
  • 2
  • 3

sudo apt-get install docker.io -y

查看Docker版本
  • 1

sudo docker -v

查看Docker的信息
  • 1

sudo docker info

查看帮助文档
  • 1

sudo docker --help

2.2、CentOS中安装

使用yun命令安装
  • 1

yum install docker -y

查看Docker版本
  • 1

docker -v

注意:centos中查看ip ip addr
2.3、windows中安装

Windows中安装需要注意,Windows版本不同安装包会有所不同,这里介绍使用Windows10系统安装。
  • 1

三、Docker服务的启动与关闭

这里主要介绍Linux版的Docker服务启动与关闭,如需Windows的请询问度娘,个人认为Windows版Docker还是很少装。本人也体验过Windows版从安装到使用都没用Linux版的好用。

注:systemctl命令是系统服务管理器指令,它是 service 和 chkconfig 两个命令组合
  • 1
  • 2
  • 3

3.1、Docker服务的启动

systemctl start docker

3.2、Docker服务的停止

systemctl stop docker

3.3、Docker服务的重启

systemctl restart docker

3.4、查看Docker服务状态

systemctl status docker

3.5、设置Docker开机启动

systemctl enable docker

3.6、开放Docker的2375端口

#编辑docker文件
sudo vim /lib/systemd/system/docker.service

#找到ExecStart=/usr/bin/dockerd
#在ExecStart=/usr/bin/dockerd后追加 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

#加载Docker守护线程
systemctl daemon-reload
#重启Docker
systemctl restart docker

#查看端口
netstat -tnlp |grep 2375

#进行2375端口(或浏览器访问http://ip:2375/info)
curl 127.0.0.1:2375/info

四、Docker镜像

什么是Docker镜像

​ Docker镜像是由文件系统叠加而成(是一种文件的存储形式)。最底端是一个文件引导系统,即bootfs,这很像典型的Linux/Unix的引导文件系统。Docker用户几乎永远不会和引导系统有什么交互。实际上,当一个容器启动后,它将会被移动到内存中,而引导文件系统则会被卸载,以留出更多的内存供磁盘镜像使用。Docker容器启动是需要的一些文件,而这些文件就可以称为Docker镜像。
  • 1
  • 2
  • 3

4.1、查询镜像

sudo docker search mysql

注:

NAME:仓库名称
DESCRIPTION:镜像描述
STARS:用户评价,反应一个镜像的受欢迎程度
OFFICIAL:是否官方
AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的
  • 1
  • 2
  • 3
  • 4
  • 5

4.2、获得镜像列表

sudo docker images

注:

REPOSITORY:镜像所在的仓库名称
TAG:镜像标签
IMAGE ID:镜像ID
CREATE:镜像的创建日期
SIZE:镜像大小

注:这些镜像都在Docker宿主机的/var/lib/docker目录下
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4.3、拉取镜像

#默认latest
sudo docker pull mysql
#指定版本
sudo docker pull mysql:5.7

注:默认在Docker Hub上拉取镜像,在没指定标签时,默认拉取latest版本。
4.4、删除镜像

删除指定镜像

sudo docker rmi $IMAGES_ID
sudo docker rmi R E P O S I T O R Y : REPOSITORY: REPOSITORY:TAG

删除所有镜像

sudo docker rmi sudo docker images -q

4.5、创建镜像

根据已有容器创建
  • 1

sudo docker commit -a “Yongzheng” -m “Ubuntu:16” 4968e97f588d ubuntu:16.6

根据Dockerfile创建

    编写好Dockerfile文件,在同级目录下执行shell语句。
        注:

    Dockerfile的编写请参考官网

#server:v1.0  server为镜像名字   v1.0为TAG(标签)    
# . 代表DockerFile 与当前目录为同级目录
sudo docker build -t server:v1.0 . 
sudo docker build -t registry.cn-hangzhou.aliyuncs.com/yongzheng/jenkins:lts .
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

4.6、镜像的备份与恢复

镜像的备份
  • 1

sudo docker save -o 宿主机目录/镜像名.tar I M A G E S I D / IMAGES_ID/ IMAGESID/REPOSITORY:$TAG

sudo docker save -o nginx.tar nginx

`

镜像的恢复
  • 1

sudo docker load -i 宿主机目录/镜像名.tar

sudo docker load -i nginx.tar

五、Docker容器
5.1、查看容器

查看正在运行的容器
  • 1

sudo docker ps

查看所有容器(启动过的历史容器)
  • 1

sudo docker ps -a

查看最后一期运行的容器
  • 1

sudo docker ps -l

查看停止的容器
  • 1

sudo docker ps -f status-exited

5.2、创建与启动容器

守护运行
  • 1

sudo docker run -id ubuntu /bin/bash

注:运行一个需要长时间运行的容器,也可以理解为后台运行

交互式运行
  • 1

sudo docker run -it ubuntu /bin/bash

注:退出交互式运行(退出时容器停止) exit

注:

-i:表示运行容器
-t:表示运行容器并进入终端命令行(交互运行)
-d:表示运行容器(后台运行守护运行)
-p:表示端口映射,前者是宿主机端口,后者是容器的映射锻课,可以指定多个端口映射。
–name:表示为容器命名
-v:表示目录映射关系,前者宿主机目录,后者容器目录,可以使用多个目录映射。(最好目录映射,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。如果出现目录没有权限问题,加上--privileged=true)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

5.3、启动容器

sudo docker start C O N T A I N E R I D / CONTAINER_ID/ CONTAINERID/NAME

5.4、重新启动容器

sudo docker restart C O N T A I N E R I D / CONTAINER_ID/ CONTAINERID/NAME

5.5、终止容器

立即终止
  • 1

sudo docker stop C O N T A I N E R I D / CONTAINER_ID/ CONTAINERID/NAME

延时终止 (秒)
  • 1

sudo docker stop -t 20 C O N T A I N E R I D / CONTAINER_ID/ CONTAINERID/NAME

5.6、删除容器

sudo docker rm C O N T A I N E R I D / CONTAINER_ID/ CONTAINERID/NAME
-f, --force=false 强制终止并删除一个运行中的容器
-l, --link=false 删除容器的连接,但保留容器
-v, --volumes=false删除容器所挂载的数据卷

5.7、查看容器IP

查看容器运行的各种参数
  • 1

sudo docker inspect C O N T A I N E R I D / CONTAINER_ID/ CONTAINERID/NAME

查询容器的IP
  • 1

sudo docker inspect --format ‘{{ .NetworkSettings.IPAddress }}’ C O N T A I N E R I D / CONTAINER_ID/ CONTAINERID/NAME

5.8、容器的导入导出

导出容器
  • 1

sudo docker export 4968e97f588d -ubuntu.tar

导入容器
  • 1

cat ubuntu.tar | sudo docker import - yongzheng/ubuntu:v1.0

5.9、进入容器内部

attach命令
  • 1

sudo docker attach C O N T A I N E R I D / CONTAINER_ID/ CONTAINERID/NAME

exec命令
  • 1

sudo docker exec -it C O N T A I N E R I D / CONTAINER_ID/ CONTAINERID/NAME /bin/bash

6.0、文件拷贝

将文件拷贝到容器
  • 1

sudo docker cp 需要拷贝的文件或目录 容器名称:容器目录
sudo docker cp nginx.conf C O N T A I N E R I D / CONTAINER_ID/ CONTAINERID/NAME:/etc/nginx/nginx.conf

从容器拷贝到宿主机
  • 1

sudo docker cp 容器名称:容器文件或目录 需要拷贝的文件或目录

sudo docker cp C O N T A I N E R I D / CONTAINER_ID/ CONTAINERID/NAME:/etc/nginx/nginx.conf nginx.conf

六、安装Docker应用
6.1、安装SQL Server

拉取镜像
  • 1

sudo docker pull microsoft/mssql-server-linux

创建容器并运行
  • 1

#端口映射
sudo docker run --name mssql --restart always -id
-e ‘ACCEPT_EULA=Y’ -m 512m
-e ‘MSSQL_SA_PASSWORD=YongZheng@1995’
-v /home/yongzheng/mssql:/var/opt/mssql
-p 1433:1433 microsoft/mssql-server-linux

不使用端口映射直接使用宿主机

sudo docker run --name mssql --net=host --restart always -id
-e ‘ACCEPT_EULA=Y’
-e ‘MSSQL_SA_PASSWORD=YongZheng@1995’
-v /home/yongzheng/mssql:/var/opt/mssql
-p 1433:1433 microsoft/mssql-server-linux

注:密码需要复杂密码,要有大小写和特殊符号
  • 1

6.2、安装jenkins

拉取镜像
  • 1

sudo docker pull jenkins/jenkins:lts

创建容器并运行
  • 1

sudo docker run --name jenkins --restart always -id
-v /home/yongzheng/jenkins:/var/jenkins_home
-p 8888:8080 -p 50000:50000 jenkins/jenkins:lts

6.3、安装Zookeeper

拉取镜像
  • 1

sudo docker pull zookeeper

创建容器并运行

sudo docker run  --name zookeeper --restart always -id \
	-e ZOO_LOG4J_PROP="INFO,ROLLINGFILE" \
	-e TZ="Asia/Shanghai" \
	-v /home/yongzheng/zookeeper/data:/data \
	-v /home/yongzheng/zookeeper/datalog:/datalog \
	-v /home/yongzheng/zookeeper/logs:/logs \
	-p 2181:2181  zookeeper

    注:
        ZOO_TICK_TIME:ZooKeeper以毫秒为单位。它用于调节心跳和超时(默认2000)
        ZOO_INIT_LIMIT:(默认5)
        ZOO_SYNC_LIMIT:(默认2)
        ZOO_MAX_CLIENT_CNXNS:单个IP的兵法连接数(默认60)
        ZOO_STANDALONE_ENABLED:(默认flase)
        ZOO_AUTOPURGE_PURGEINTERVAL:(默认0)
        ZOO_AUTOPURGE_SNAPRETAINCOUNT:(默认3)3.4.0中的新增功能:启用后,ZooKeeper自动清除功能分别在dataDir和dataLogDir中保留autopurge.snapRetainCount最新快照和相应的事务日志,并删除其余日志。默认为3.最小值为3。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

6.4、安装Redis

拉取镜像
  • 1

sudo docker pull redis:3.2.9

创建容器并运行
  • 1

sudo docker run --name redis --restart=always -id
-v /home/yongzheng/redis/data:/data
-e TZ=“Asia/Shanghai”
-p 6379:6379 redis
–appendonly yes
–requirepass “yongzheng”

    注:
        redis-server --appendonly yes: 在容器执行redis-server启动命令,并打开redis持久化配置
        requirepass “your passwd”:设置认证密码
        –restart=always: 随docker启动而启动

进入容器执行Redis客户端
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

sudo docker exec -it 容器id或name redis-cli -a ‘your passwd’

#sudo docker exec -it a126ec987cfe redis-cli -h 127.0.0.1 -p 6379 -a ‘your passwd’

    注:
        -h 127.0.0.1 :默认不加为-h 127.0.0.1
        -p 6379 :默认不加为 -p 6379
  • 1
  • 2
  • 3

6.5、安装MongoDB

拉取镜像
  • 1

sudo docker pull mongo

创建容器并运行
  • 1

sudo docker run --name mongo --restart always -id
-e MONGO_INITDB_ROOT_USERNAME=yongzheng
-e MONGO_INITDB_ROOT_PASSWORD=yongzheng
-e MONGO_INITDB_DATABASE=admin
-v /home/yongzheng/mongo:/date/db
-p 27017:27017 mongo --storageEngine wiredTiger

    注:
        --storageEngine wiredTiger:指定你需要的储存引擎
        MONGO_INITDB_ROOT_USERNAME`, `MONGO_INITDB_ROOT_PASSWORD:创建一个新用户并设置该用户的密码
        MONGO_INITDB_DATABASE:允许您指定要用于创建脚本的数据库的名称

查看MongoDB日志
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

sudo docker exec -it some-mongo bash
sudo docker logs some-mongo

设置MongoDB的密码

# 进入容器
sudo docker exec -it mongo /bash/bin
#选择数据库

use admin;
#设置密码

db.createUser({user: "yongzheng",pwd: "yongzheng",roles: [{role: "userAdminAnyDatabase",db: "admin"}]})

#验证是否创建成功
db.auth("yongzheng","yongzheng")

# 选择数据库
use test;
#设置密码
db.createUser({user:"testuser",pwd:"testpass",roles:["readWrite"]});
#验证是否创建成功
db.auth("testuser","testpass")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

6.6、安装RabbitMQ

拉取镜像
  • 1

sudo docker pull rabbitmq:management 或
sudo docker pull daocloud.io/library/rabbitmq:management

创建容器并运行
  • 1

sudo docker run --name rabbitmq --restart always -id
-e TZ=“Asia/Shanghai”
-e RABBITMQ_DEFAULT_USER=yongzheng
-e RABBITMQ_DEFAULT_PASS=yongzheng
-p 15671:15671 -p 15672:15672 -p 5671:5671 -p 5672:5672
-v /home/yongzheng/rabbitmq:/var/lib/rabbitmq
–hostname rabbitmq rabbitmq:management

注:镜像一定要拉management的,否则无管理界面
  • 1

6.7、安装KafKa

    因为kafka需要借助zookeeper,所以首先要安装zookeeper

拉取镜像

sudo docker pull wurstmeister/kafka

创建容器并运行

sudo docker run -id --name kafka --restart always -p 9092:9092 --link zookeeper -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_ADVERTISED_HOST_NAME=192.168.3.244 -e KAFKA_ADVERTISED_PORT=9092 wurstmeister/kafka:latest



sudo docker run -id --name kafka --restart always -p 9092:9092 --link zookeeper  -e KAFKA_BROKER_ID=0  -e KAFKA_ADVERTISED_PORT=9092 -e KAFKA_ADVERTISED_HOST_NAME=192.168.3.244 -e KAFKA_ZOOKEEPER_CONNECT=192.168.3.244:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.3.244:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka

安装KafKa监控
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

sudo docker run --name kafkamanager --restart always -id -p 9000:9000 --link zookeeper -e ZK_HOSTS=“zookeeper:2181” -e APPLICATION_SECRET=letmein sheepkiller/kafka-manager

sudo docker run --restart always -id -p 9001:9000 --link zookeeper -e ZKHOSTS=“zookeeper:2181” --name=“kafka-manager” srangwal/kafkamanager

KafKa简单命令行操作

    进入安装kafka安装目录下的bin目录,执行以下shell

    创建topic
  • 1
  • 2
  • 3
  • 4
  • 5

./kafka-topics.sh --zookeeper zookeeper:2181 --create --topic yongzheng --partitions 30 --replication-factor 1

删除topic

./kafka-topics.sh --delete --zookeeper zookeeper:2181 --topic yongzheng

查询所有topic list

./kafka-topics.sh --list --zookeeper zookeeper:2181

生产者

./kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic yongzheng

消费者

./kafka-console-consumer.sh --bootstrap-server zookeeper:2181 --from-beginning --topic yongzheng
  • 1

zookeeper中删除topic

# 进入zookeeper安装的bin目录 启动
./zkCli.sh 
# 查看所有topic
ls /brokers/topics
# 删除指定的topic
 rmr /brokers/topics/topic-name
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

6.8、安装MySQL

拉取镜像
  • 1

sudo docker pull mysql:5.7 或
sudo docker pull daocloud.io/library/mysql:5.7

创建容器并运行
  • 1

sudo docker run --name mysql --restart always -id
-e TZ=“Asia/Shanghai”
-e MYSQL_ROOT_PASSWORD=yongzheng
-e MYSQL_USER=yongzheng
-e MYSQL_PASSWORD=yongzheng
-v /home/yongzheng/mysql:/var/lib/mysql
-p 3306:3306 -id mysql:5.7

    注:
        MYSQL_ROOT_PASSWORD:指定ROOT超级用户的密码
        MYSQL_DATABASE:指定要在镜像启动时创建的数据库的名称。如果提供了用户/密码,则该用户将被授予对该数据库的超级用户访问权限
        MYSQL_USER, MYSQL_PASSWORD:创建新用户并设置该用户的密码。此用户将被授予MYSQL_DATABASE变量指定的数据库的超级用户权限
        MYSQL_ALLOW_EMPTY_PASSWORD=yes:设置为yes允许以root用户的空密码启动容器(不建议操作)
        MYSQL_RANDOM_ROOT_PASSWORD=yes、:设置yes为root用户生成随机初始密码将打印到stdout(GENERATED ROOT PASSWORD: .....)
        MYSQL_ONETIME_PASSWORD:ROOT首次登录时强制更改密码,在MySQL5.6+上支持

查看日志
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

sudo docker exec -it mysql bash
sudo docker logs mysql

6.9、安装Nginx

拉取镜像
  • 1

sudo docker pull nginx

创建容器并运行
  • 1

sudo docker run --name=nginx --restart always -di
-v /home/ubuntu/nginx:/etc/nginx/conf.d
–link gitlab -e TZ=“Asia/Shanghai” -p 80:80 nginx

注:官方的nginx镜像,nginx配置文件nginx.conf 在/etc/nginx/目录下
7.0、安装Orcare

拉取镜像
  • 1

7.1、安装ActiveMQ

拉取镜像
  • 1

sudo docker pull webcenter/activemq

创建容器并运行
  • 1

sudo docker run --name activemq -id --restart always
-e ‘ACTIVEMQ_CONFIG_NAME=activemq’
-e ‘ACTIVEMQ_CONFIG_DEFAULTACCOUNT=false’
-e ‘ACTIVEMQ_ADMIN_LOGIN=yongzheng’
-e ‘ACTIVEMQ_ADMIN_PASSWORD=yongzheng’
-v /home/yongzheng/activemq/data:/data
-v /home/yongzheng/activemq/datalog:/var/log/activemq
-p 61616:61616
-p 8161:8161
webcenter/activemq

sudo docker run --name=‘activemq’ -d
-e ‘ACTIVEMQ_CONFIG_NAME=amqp-srv1’
-e ‘ACTIVEMQ_CONFIG_DEFAULTACCOUNT=false’
-e ‘ACTIVEMQ_ADMIN_LOGIN=yongzheng’ -e ‘ACTIVEMQ_ADMIN_PASSWORD=yongzheng’
-e ‘ACTIVEMQ_USERS_myproducer=producerpassword’ -e ‘ACTIVEMQ_GROUPS_writes=myproducer’
-e ‘ACTIVEMQ_USERS_myconsumer=consumerpassword’ -e ‘ACTIVEMQ_GROUPS_reads=myconsumer’
-e ‘ACTIVEMQ_JMX_user1_role=readwrite’ -e ‘ACTIVEMQ_JMX_user1_password=jmx_password’
-e ‘ACTIVEMQ_JMX_user2_role=read’ -e ‘ACTIVEMQ_JMX_user2_password=jmx2_password’
-e ‘ACTIVEMQ_CONFIG_TOPICS_topic1=mytopic1’ -e ‘ACTIVEMQ_CONFIG_TOPICS_topic2=mytopic2’
-e ‘ACTIVEMQ_CONFIG_QUEUES_queue1=myqueue1’ -e ‘ACTIVEMQ_CONFIG_QUEUES_queue2=myqueue2’
-e ‘ACTIVEMQ_CONFIG_MINMEMORY=1024’ -e ‘ACTIVEMQ_CONFIG_MAXMEMORY=4096’
-e ‘ACTIVEMQ_CONFIG_SCHEDULERENABLED=true’
-v /data/activemq:/data
-v /var/log/activemq:/var/log/activemq
-p 8161:8161
-p 61616:61616
-p 61613:61613
webcenter/activemq

7.2、安装elasticsearch

拉取镜像

sudo docker pull elasticsearch

安装容器并运行
  • 1
  • 2
  • 3
  • 4
  • 5

sudo docker run --name elasticsearch --restart always -id
-e “discovery.type=single-node”
-e ES_JAVA_OPTS="-Xms256m -Xmx256m"
-p 9200:9200
-p 9300:9300
elasticsearch:2.4

注:5.0默认分配jvm空间大小为2G /5.0之前好像是1G

注:进入容器运行

    /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head
  • 1
  • 2
  • 3
  • 4
  • 5

7.3、安装Solr

创建容器并运行

sudo docker run --name solr -id -p 8983:8983 solr
  • 1
  • 2
  • 3

7.4、安装Tomcat

运行容器
  • 1

sudo docker run–name=tomcat --restart always -di
-p 9000:8080
-v /home/yongzheng/tomcat:/usr/local/tomcat/webapps
–privileged=true tomcat:7-jre7

sudo docker run --name=tomcat --restart always -di
-v /mnt/docker/tomcat:/usr/local/tomcat/webapps
-e TZ=“Asia/Shanghai”
–privileged=true
-p 9000:8080
tomcat:7-jre7

7.5、安装FastDFS

拉取镜像

sudo docker pull morunchang/fastdfs

创建容器并运行
  • 1
  • 2
  • 3
  • 4
  • 5

#创建tracker(跟踪服务器)
sudo docker run -d --name fastdfs-tracker --restart always --net=host -v /home/yongzheng/fastdfs/tracker/data:/data/fast_data/data morunchang/fastdfs sh tracker.sh

#创建storage(存储服务器)
sudo docker run -d --name fastdfs-storage --restart always --net=host -v /home/yongzheng/fastdfs/storage/data:/data/fast_data -e TRACKER_IP=192.168.3.244:22122 -e GROUP_NAME=yongzheng morunchang/fastdfs sh storage.sh

修改容器的ng(可不修改)

# 进入容器中
sudo docker exec -it fastdfs-storage /bin/bash
#修改nginx的配置文件
vi /data/nginx/conf/nginx.conf
#修改nginx的配置,不拦截上传内容
  server {
        listen       8080;
        server_name  localhost;

        location /yongzheng/M00 {
  			 proxy_next_upstream http_502 http_504 error timeout invalid_header;
    		 proxy_cache http-cache;
  		     proxy_cache_valid  200 304 12h;
     		 proxy_cache_key $uri$is_args$args;
     		 proxy_pass http://fdfs_yongzheng;
     		 expires 30d;
 		}
  
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

#退出容器并重启
sudo docker restart fastdfs-storage
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

7.6、安装FastDFS

拉取镜像
  • 1

sudo docker pull season/fastdfs

创建容器并运行

#创建tracker(跟踪服务器)
sudo docker run -di -d --name trakcer -v /home/yongzheng/Desktop/fastdfs/tracker_data:/fastdfs/tracker/data --net=host season/fastdfs tracker

#创建storage(存储服务器)
sudo docker run -di --name storage -v /home/yongzheng/Desktop/fastdfs/storage_data:/fastdfs/storage/data -v /home/yongzheng/Desktop/fastdfs/storage_data/store_path:/fastdfs/store_path --net=host -e TRACKER_SERVER:192.168.3.244:22122 season/fastdfs storage

修改storage服务器的配置

    #将配置文件从容器复制出来
    sudo docker cp storage:/fdfs_conf/storage.conf  /home
    #将配置文件复制到容器中
    sudo docker cp /home/storage.conf  storage:/fdfs_conf
    #重启容器
    sudo docker restart storage

    注:将storage.conf中tracker_server的设置为自己的ip(宿主机ip)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

7.7、安装RocketMQ

拉取镜像

    拉取一下镜像,在创建时若没有,会先pull镜像,在创建容器

创建容器并运行

# 创建RocketMQ的server
sudo docker run -d -p 9876:9876 --name rmqserver  foxiswho/rocketmq:server

# 创建RocketMQ的broker
sudo docker run -d -p 10911:10911 -p 10909:10909 --name rmqbroker --link rmqserver:namesrv \
-e "NAMESRV_ADDR=namesrv:9876" \
-e "JAVA_OPTS=-Duser.home=/opt"  \
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
-v /home/yongzheng/Desktop/docker-rocketmq-master/rmq/rmq/brokerconf/broker.conf:/etc/rocketmq/broker.conf \
foxiswho/rocketmq:broker

# 创建图形界面化监控 浏览器访问localhost:8180
docker run --name rmqconsole -p 8180:8080 --link rmqserver:namesrv -e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -t styletang/rocketmq-console-ng

    注:/home/yongzheng/Desktop/docker-rocketmq-master/rmq/rmq/brokerconf/broker.conf为本地配置文件。配置文件下载地址

    注: 如果你的微服务或者项目在开发的时候rocketmq容器不能直接用IP访问,
    那么请把broker.conf中的 #brokerIP1=192.168.0.253前面#号去掉,并且把后面的IP地址改成你的rocketmq容器宿主机IP地址,否则报 com.alibaba.rocketmq.remoting.exception.RemotingConnectException: connect to <172.0.0.120:10909> failed
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

7.8、安装gitLab

拉取镜像
  • 1

sudo docker pull gitlab/gitlab-ce:latest

创建容器并运行

 # 安装最新版
 sudo docker run --name gitlab-ce --restart always -id \
 	--hostname gitlab.aloneme.com \
 	-e TZ="Asia/Shanghai" \
-p 8443:443 -p 8800:80 -p 2222:22 \
 	-v /home/yongzheng/gitlab-ce/config:/etc/gitlab \
 	-v /home/yongzheng/gitlab-ce/logs:/var/log/gitlab \
 	-v /home/yongzheng/gitlab-ce/data:/var/opt/gitlab \
     gitlab/gitlab-ce:latest
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

7.9、安装H5ai

> h5ai 是一个轻量,强大,美观的网站目录列表程序。
> 可将服务器文件列表以网页形式呈现在浏览器中。同时可播放视频,查看图片,查看 pdf 等。可以实现半个网盘的功能。
> 本教程将使用 Docker 快速的部署 h5ai ,并绑定域名和开启 https 。
> 
>

拉取镜像
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

创建容器并运行

sudo docker run --restart=always -d -p 8811:80 -v /home/yongzheng/h5ai:/h5ai --name h5ai ilemonrain/h5ai:full
  • 1

8.0、安装registry私服

拉取镜像
  • 1

sudo docker pull registry:2

创建容器并运行

sudo docker run -d -p 5000:5000 --restart=always --name registry -v /home/yongzheng/registry:/var/lib/registry registry:2
  • 1

8.1、安装gogs

创建容器并运行
  • 1

sudo docker run --restart=always -di --name=gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs

8.2、安装influxdb

docker run -di -p 8083:8083
-p 8086:8086
–expose 8090
–expose 8099
–name influxsrv
tutum/influxdb

8.3、安装cadvisor

docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080 --detach=true --link influxsrv:influxsrv --name=cadvisor google/cadvisor -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086

8.4、安装Maven私服

sudo docker run -id --privileged=true --name=nexus3 --restart=always -p 8081:8081 -v /home/yongzheng/nexus3/nexus-data:/var/nexus-data sonatype/nexus3

8.5、安装Memcached分布式缓存

#设置容器守护式运行,并且随Docker自动启动
sudo docker run --restart=always --name memcached -d -p 11211:11211 memcached

检测是否安装成功

#测试是否启动成功
netstat -luntp|grep 11211
#或者
docker ps


#安装telnet
#Centos安装
yum install -y telnet
#ubuntu安装
sudo apt-get install -y telnet 
#通过telnet方式连接memcached
telnet 127.0.0.1 11211
#设置值,age是key,0是标志位,900是生命周期,8代表所占字节数,回车之后的10是value
set age 0 900 8
10
#获取值
get age
#退出telnet
quit
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

8.6、安装ZABBIX

sudo docker run --name mysql --restart always -id -v /mnt/docker/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_USER=yongzheng -e MYSQL_PASSWORD=yongzheng -p 3306:3306 -id mysql:5.7

docker run --name zabbix-server -e DB_SERVER_HOST=“mysql” -e MYSQL_USER=“yongzheng” -e MYSQL_PASSWORD=“yongzheng” -e MYSQL_DATABASE=‘zabbix’ --link mysql:mysql -p 10051:10051 -d zabbix/zabbix-server-mysql:latest

docker run --name zabbix-web-nginx --link zabbix-server:zabbix-server --link mysql:mysql -e DB_SERVER_HOST=“mysql” -e MYSQL_USER=“yongzheng” -e MYSQL_PASSWORD=“yongzheng” -e ZBX_SERVER_HOST=“zabbix-server” -d -p 8020:80 zabbix/zabbix-web-nginx-mysql

8.7、安装禅道

#专业版 企业版
docker run -d -p 80:80 -p 3306:3306
-e TZ=“Asia/Shanghai”
-e USER=“yongzheng” -e PASSWD=“yongzheng”
-e BIND_ADDRESS=“false”
–name zentao-server
idoop/zentao:pro

#开源版
docker run -d -p 8020:80 -p 3307:3306
-e TZ=“Asia/Shanghai”
-e ADMINER_USER=“root” -e ADMINER_PASSWD=“xrkj123456”
-e BIND_ADDRESS=“false”
-v /mnt/docker/zentao/:/opt/zbox/
–add-host smtp.exmail.qq.com:163.177.90.125
–name zentao-server
idoop/zentao:latest

-------------本文结束感谢您的阅读-------------
Docker
Docker入门
Redash详细Docker部署教程

文章目录 站点概览 

1. Docker命令及软件安装
    1.1. 一、Docker简介
    1.2. 二、Docker安装
        1.2.1. 2.2、Ubuntu中安装
        1.2.2. 2.2、CentOS中安装
        1.2.3. 2.3、windows中安装
    1.3. 三、Docker服务的启动与关闭
    1.4. 四、Docker镜像
    1.5. 五、Docker容器
    1.6. 六、安装Docker应用
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/79050
推荐阅读
相关标签
  

闽ICP备14008679号