Docker 安装常用软件(超全、超实用)

容器化概念越来越普及,很多公司都在往这个方向发展,也有不少公司在招聘要求上提到这点。Docker就是一个出色的、开源的应用容器引擎。只需要一条命令就可安装一个软件环境,非常方便。

安装Docker 

以下以Centos为例:

  • 确保 yum 包更新到最新。

yum update
  • 卸载旧版本(如果安装过旧版本的话)

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
  • 安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

yum install -y yum-utils device-mapper-persistent-data lvm2
  • 设置yum源地址(使用阿里云地址)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 查看仓库中docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r

  • 安装docker‍

yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io # 根据上一步选择一个最新版本安装,我选择的是 18.03.1.ceyum install docker-ce-18.03.1  docker-ce-cli-18.03.1# 也可直接安装最新版本yum install docker-ce docker-ce-cli containerd.io
  • 启动并加入开机启动

启动:systemctl start docker 停止: systemctl stop docker 重启:systemctl restart docker开机自启:  systemctl enable docker查看版本:  docker version 查看状态:  systemctl status docker
  • 卸载Docker

yum remove docker-ce docker-ce-cli containerd.iorm -rf /var/lib/docker

设置镜像源

  • Docker镜像服务器在国外,国内访问比较慢,所以需要先设置国内镜像源。

  • 示例是我的阿里镜像源。

  • 阿里镜像源获取:https://cr.console.aliyun.com/cn-shanghai/instances/mirrors

示例

# 修改文件vi /etc/docker/daemon.json# 增加如下配置{"registry-mirrors": ["https://mltfzuzk.mirror.aliyuncs.com"],"dns": ["8.8.8.8","8.8.4.4"]}# 重启daemonsystemctl daemon-reload# 重启dockersystemctl restart docker.service

常用命令

// 查看运行中的容器docker ps// 查看所有的容器docker ps -a// 搜索镜像docker search keyword// 例:docker search mysql// 查看下载的镜像docker iamges// 启动容器docker start [容器名/容器ID]// 停止容器docker stop/kill [容器名/容器ID]// 重启容器docker restart [容器名/容器ID]// 删除已停止的容器docker rm [容器名/容器ID]// 强制删除容器docker rm -f [容器名/容器ID]// 删除镜像docker rmi 镜像id// 查看容器日志docker logs [容器名/容器ID]// 查看容器运行状态信息docker stats// 获取容器/镜像的元数据docker inspect [OPTIONS] NAME|ID [NAME|ID...]// 查看容器中运行的进程信息,支持 ps 命令参数docker top [OPTIONS] CONTAINER [ps OPTIONS]// 将宿主机目录拷贝到容器目录docker cp [path1] [容器ID]:[path2]// 将容器目录拷贝到宿主机目录docker cp [容器ID]:[path2] [path1]

拉取镜像 

一般安装前需要先拉取镜像

命令:docker pull [softName]:[version]# softName -- 下载的软件名,如:mysql、redis等# version  -- 下载软件的版本

例子: 

## 拉取mysql5.7的镜像

docker pull mysql:5.7

不过后面发现,直接安装也会默认执行这步拉取镜像操作。

 启动容器

下面开始本文的主要内容。

## 创建并运行容器命令:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]## 常用OPTIONS说明:-d: 后台运行容器,并返回容器ID;-p: 指定端口映射,格式为:主机(宿主)端口:容器端口;-i: 以交互模式运行容器,通常与 -t 同时使用;-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;-e: 设置环境变量,例:-e TZ="Asia/Shanghai" 设置时区;--env-file=[]: 从指定文件读入环境变量;-m :设置容器使用内存最大值;
--volume , -v: 绑定一个卷;
--name xxx: 为容器指定一个名称;
--privileged=true 获取宿主机root权限
--restart=always 容器自动重启
  • Mysql

docker run -p 3306:3306 --restart=always -e TZ="Asia/Shanghai" \--name mymysql -v /usr/local/gourd/docker/mysql/conf:/etc/mysql/conf.d \-v /usr/local/gourd/docker/mysql/logs:/logs \-e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
  • Tomcat

docker run -p 8080:8080 --name gourdtomcat \--restart=always -e TZ="Asia/Shanghai" \-v /docker/tomcat/test:/usr/local/tomcat/webapps/test -d tomcat
  • Redis

 docker run -p 6379:6379 --restart=always -e TZ="Asia/Shanghai" \ -v /usr/local/gourd/docker/redis/data:/data \ -v /usr/local/gourd/docker/redis/conf/redis.conf:/etc/redis/redis.conf \ --name myredis -d redis redis-server --appendonly yes
  • Mongo

docker run -d --name mongo --restart=always \-v /usr/local/gourd/docker/mongodb/datadb:/data/db -p 27017:27017 \-e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=root \ -e TZ="Asia/Shanghai" --privileged=true mongo
  • Ngnix

docker run --name gourdnginx -p 80:80 \ --restart=always -e TZ="Asia/Shanghai" -d \ -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \ -v $PWD/logs:/var/log/nginx nginx
  • Zookeeper

docker  run --privileged=true --name zookeeper \-p 2181:2181 --restart=always -e TZ="Asia/Shanghai" \-d zookeeper:latest
  • Kafka(需先安装zookeeper

docker run -d --name kafka -p 9092:9092 --restart=always \-e TZ="Asia/Shanghai" \-e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=172.19.175.13:2181 \-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://172.19.175.13:9092 \-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \-t wurstmeister/kafka
  • Dubbo-admin

docker run -d -p 8280:8080 --restart=always -e TZ="Asia/Shanghai" \--name dubbo-admin -e dubbo.registry.address=zookeeper://xxx:2181 \-e dubbo.admin.root.password=root chenchuxin/dubbo-admin
  • Elasticsearch

# 拉取镜像docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2 # 安装docker run -d --name es -p 9200:9200 -p 9300:9300 \--restart=always -e TZ="Asia/Shanghai" \ -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" \ docker.elastic.co/elasticsearch/elasticsearch:6.3.2# 安装ik分词器:elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip
  • Nacos

docker run -d \-e MODE=standalone -e TZ="Asia/Shanghai" \-e SPRING_DATASOURCE_PLATFORM=mysql \-e MYSQL_SERVICE_HOST=xxx -e MYSQL_SERVICE_PORT=3306 \-e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=xxx \-e MYSQL_SERVICE_DB_NAME=nacos -p 8848:8848 \--restart=always --name mynacos nacos/nacos-server
  • Sentinel

docker run --name elvis.sentinel -d \-p 8858:8858 --restart=always \bladex/sentinel-dashboard
  • Seata

docker run --name seata-server \
-p 8091:8091 -e SEATA_IP=111.231.111.150 \
-e SEATA_CONFIG_NAME=file:/root/seata-config/registry \
--restart=always -d \
-v /usr/gourd/docker/seata/config:/root/seata-config  \
seataio/seata-server
  • Activemq

docker run -d --name activemq \--restart=always -p 61616:61616 -p 8161:8161 -p 61614:61614 \-v /home/tceport/amq_home/conf:/conf -v /home/tceport/amq_home/data:/data \webcenter/activemq:latest
  • Nexus3

docker run -id --privileged=true --name=nexus3 \--restart=always -p 8081:8081 \-e INSTALL4J_ADD_VM_PARAMS="-Xms256m -Xmx512m" \docker.io/sonatype/nexus3

初始账号:admin   初始密码在:新版的初始登录密码已经不是admin123,而是在容器中的/nexus-data/admin.password里面。如下图:

  • openoffice

docker run -d -p 6080:6080 --restart=always \-e TZ="Asia/Shanghai" tobegit3hub/dockerized-openoffic
  • fastdfs

docker run -d --network=host --name some-tracker \
-v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker

docker run -d --network=host --name some-storage \
-p 22122:22122 -p 8888:8888 -e TRACKER_SERVER=10.10.10.100:22122 \
-v /var/fdfs/storage:/var/fdfs -e GROUP_NAME=paperless \
delron/fastdfs storage
  • sonar

7.9版本后,不支持mysql数据库

docker run -d --name sonarqube \
    -p 9000:9000 \
    -e SONAR_JDBC_URL=jdbc:mysql://xxx:3306/sonar \
    -e SONAR_JDBC_USERNAME=xxx\
    -e SONAR_JDBC_PASSWORD=xxx \
    -v /usr/gourd/docker/sonar/data:/opt/sonarqube/data \
    -v /usr/gourd/docker/extensions:/opt/sonarqube/extensions \
    -v /usr/gourd/docker/logs:/opt/sonarqube/logs \
    sonarqube:7.9-community

 

补充:

安利下服务部署利器:docker-compse

# 安装curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose# 授权chmod +x /usr/local/bin/docker-compose

写在最后

如果小伙伴觉得有需要,赶紧mark下吧,下次用到就不用到处翻找资料啦。

 

END

扫码二维码,获取更多精彩

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值