时光、不会辜负每一个平静努力的人
Docker命令及软件安装
发表于 2019-03-07 | 更新于 2019-11-13 | 分类于 Docker | 阅读次数: 74
Docker命令及软件安装
一、Docker简介
Docker的简介及一些说明请自行百度,主要了解虚拟化,镜像,容器等概念。
二、Docker安装
Docker官方建议在Ubuntu中安装,因为Docker是基于Ubuntu发布的,而且一般Docker出现的问题Ubuntu是最先更新或者打补丁的。在很多版本中CentOS是不支持更新最新的一些补丁包的的。写本文时三个版本都体验过这里主要以Deepin(Ubuntu的衍生版)。
2.2、Ubuntu中安装
注:如果安装过则可以,/var/lib/docker/保留包括图像,容器,卷和网络在内的内容。
使用apt-get命令安装
sudo apt-get install docker.io -y
查看Docker版本
sudo docker -v
查看Docker的信息
sudo docker info
查看帮助文档
sudo docker --help
2.2、CentOS中安装
使用yun命令安装
yum install docker -y
查看Docker版本
docker -v
注意:centos中查看ip ip addr
2.3、windows中安装
Windows中安装需要注意,Windows版本不同安装包会有所不同,这里介绍使用Windows10系统安装。
三、Docker服务的启动与关闭
这里主要介绍Linux版的Docker服务启动与关闭,如需Windows的请询问度娘,个人认为Windows版Docker还是很少装。本人也体验过Windows版从安装到使用都没用Linux版的好用。
注:systemctl命令是系统服务管理器指令,它是 service 和 chkconfig 两个命令组合
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镜像。
4.1、查询镜像
sudo docker search mysql
注:
NAME:仓库名称
DESCRIPTION:镜像描述
STARS:用户评价,反应一个镜像的受欢迎程度
OFFICIAL:是否官方
AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的
4.2、获得镜像列表
sudo docker images
注:
REPOSITORY:镜像所在的仓库名称
TAG:镜像标签
IMAGE ID:镜像ID
CREATE:镜像的创建日期
SIZE:镜像大小
注:这些镜像都在Docker宿主机的/var/lib/docker目录下
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 TAG
删除所有镜像
sudo docker rmi sudo docker images -q
4.5、创建镜像
根据已有容器创建
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 .
4.6、镜像的备份与恢复
镜像的备份
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
`
镜像的恢复
sudo docker load -i 宿主机目录/镜像名.tar
sudo docker load -i nginx.tar
五、Docker容器
5.1、查看容器
查看正在运行的容器
sudo docker ps
查看所有容器(启动过的历史容器)
sudo docker ps -a
查看最后一期运行的容器
sudo docker ps -l
查看停止的容器
sudo docker ps -f status-exited
5.2、创建与启动容器
守护运行
sudo docker run -id ubuntu /bin/bash
注:运行一个需要长时间运行的容器,也可以理解为后台运行
交互式运行
sudo docker run -it ubuntu /bin/bash
注:退出交互式运行(退出时容器停止) exit
注:
-i:表示运行容器
-t:表示运行容器并进入终端命令行(交互运行)
-d:表示运行容器(后台运行守护运行)
-p:表示端口映射,前者是宿主机端口,后者是容器的映射锻课,可以指定多个端口映射。
–name:表示为容器命名
-v:表示目录映射关系,前者宿主机目录,后者容器目录,可以使用多个目录映射。(最好目录映射,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。如果出现目录没有权限问题,加上--privileged=true)
5.3、启动容器
sudo docker start NAME
5.4、重新启动容器
sudo docker restart NAME
5.5、终止容器
立即终止
sudo docker stop NAME
延时终止 (秒)
sudo docker stop -t 20 NAME
5.6、删除容器
sudo docker rm NAME
-f, --force=false 强制终止并删除一个运行中的容器
-l, --link=false 删除容器的连接,但保留容器
-v, --volumes=false删除容器所挂载的数据卷
5.7、查看容器IP
查看容器运行的各种参数
sudo docker inspect NAME
查询容器的IP
sudo docker inspect --format ‘{{ .NetworkSettings.IPAddress }}’ NAME
5.8、容器的导入导出
导出容器
sudo docker export 4968e97f588d -ubuntu.tar
导入容器
cat ubuntu.tar | sudo docker import - yongzheng/ubuntu:v1.0
5.9、进入容器内部
attach命令
sudo docker attach NAME
exec命令
sudo docker exec -it NAME /bin/bash
6.0、文件拷贝
将文件拷贝到容器
sudo docker cp 需要拷贝的文件或目录 容器名称:容器目录
sudo docker cp nginx.conf NAME:/etc/nginx/nginx.conf
从容器拷贝到宿主机
sudo docker cp 容器名称:容器文件或目录 需要拷贝的文件或目录
sudo docker cp NAME:/etc/nginx/nginx.conf nginx.conf
六、安装Docker应用
6.1、安装SQL Server
拉取镜像
sudo docker pull microsoft/mssql-server-linux
创建容器并运行
#端口映射
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
注:密码需要复杂密码,要有大小写和特殊符号
6.2、安装jenkins
拉取镜像
sudo docker pull jenkins/jenkins:lts
创建容器并运行
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
拉取镜像
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。
6.4、安装Redis
拉取镜像
sudo docker pull redis:3.2.9
创建容器并运行
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客户端
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
6.5、安装MongoDB
拉取镜像
sudo docker pull mongo
创建容器并运行
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日志
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")
6.6、安装RabbitMQ
拉取镜像
sudo docker pull rabbitmq:management 或
sudo docker pull daocloud.io/library/rabbitmq:management
创建容器并运行
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的,否则无管理界面
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监控
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
./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
zookeeper中删除topic
# 进入zookeeper安装的bin目录 启动
./zkCli.sh
# 查看所有topic
ls /brokers/topics
# 删除指定的topic
rmr /brokers/topics/topic-name
6.8、安装MySQL
拉取镜像
sudo docker pull mysql:5.7 或
sudo docker pull daocloud.io/library/mysql:5.7
创建容器并运行
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+上支持
查看日志
sudo docker exec -it mysql bash
sudo docker logs mysql
6.9、安装Nginx
拉取镜像
sudo docker pull nginx
创建容器并运行
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
拉取镜像
7.1、安装ActiveMQ
拉取镜像
sudo docker pull webcenter/activemq
创建容器并运行
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
安装容器并运行
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
7.3、安装Solr
创建容器并运行
sudo docker run --name solr -id -p 8983:8983 solr
7.4、安装Tomcat
运行容器
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
创建容器并运行
#创建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
7.6、安装FastDFS
拉取镜像
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)
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
7.8、安装gitLab
拉取镜像
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
7.9、安装H5ai
> h5ai 是一个轻量,强大,美观的网站目录列表程序。
> 可将服务器文件列表以网页形式呈现在浏览器中。同时可播放视频,查看图片,查看 pdf 等。可以实现半个网盘的功能。
> 本教程将使用 Docker 快速的部署 h5ai ,并绑定域名和开启 https 。
>
>
拉取镜像
创建容器并运行
sudo docker run --restart=always -d -p 8811:80 -v /home/yongzheng/h5ai:/h5ai --name h5ai ilemonrain/h5ai:full
8.0、安装registry私服
拉取镜像
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
8.1、安装gogs
创建容器并运行
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
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应用