目录

一、Docker简介

二、系统要求

三、Docker安装

四、Docker获取portainer镜像,安装 portainer容器

五、Docker获取jenkins镜像,安装 jenkins容器

六、Docker获取svn镜像,安装 svn容器

七、Docker获取tomcat镜像,安装 tomcat容器

八、Docker获取mysql镜像,安装 mysql容器

九、Docker获取nginx镜像,安装 nginx容器

十、Docker获取redis镜像,安装 redis容器

十一、Docker获取zookeeper镜像,安装 zookeeper容器

十二、Docker获取kafka镜像,安装 kafka 容器

十三、Docker获取postgresql+postgis镜像,安装 postgresql+postgis容器

十四、Docker获取MinIO镜像,安装 MinIO容器

十五、Docker获取gitlab镜像,安装 gitlab容器

十六、Docker获取Nacos镜像,安装 Nacos容器

十七、Docker获取elasticsearch镜像,安装 elasticsearch容器

十八、Docker获取RabbitMQ镜像,安装 RabbitMQ容器

十九、Docker获取私有仓库registry镜像,安装 registry容器

二十、Docker获取Memcached镜像,安装 Memcached容器

二十一、Docker获取MongoDB镜像,安装MongoDB容器

二十二、Docker获取Nexus3镜像,安装Nexus3容器

二十三、Docker获取达梦数据库(DM8)镜像,安装DM8容器

二十四、Docker获取RocketMQ镜像,安装RocketMQ容器

二十五、Docker安装Prometheus+Grafana+Alertmanager实现企业微信告警监控

二十六、Docker安装Zabbix及可视化界面

二十七、查看所有的容器

二十八、其他容器安装


一、Docker简介

官网链接:https://www.docker.com

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。Docker 容器通过 Docker 镜像来创建。

二、系统要求

     本次安装使用系统为:CentOS 7

三、Docker安装

1、安装Docker

Docker安装 官网教程  Install Docker Engine on CentOS | Docker Documentation

(1).设置存储库
安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。

sudo yum install -y yum-utils

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo	

或者使用阿里云 源地址
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
	
(2).安装DOCKER引擎
安装最新版本的Docker Engine和容器:

sudo yum install docker-ce docker-ce-cli containerd.io

 2、查看Docker版本    

docker -v

docker version

 3、启动Docker

systemctl start docker

4、 查看Docker状态    

systemctl status docker

5、 重启Docker    

systemctl restart docker

6、 停止Docker

systemctl stop docker

7、设置开机自启    

systemctl enable docker

8、禁止开机自启

systemctl disable docker

9、列出所有镜像

docker images

10、删除镜像

docker rmi IMAGE_ID

11、查看所有容器

docker ps

12、启动某个容器

docker start 容器名称

13、停止某个容器

docker stop 容器名称

14、退出某个容器

exit

15、删除某个容器

docker rm 容器id

16、卸载旧版docker

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

或者使用以下方法

列出docker安装过的相关包:
sudo yum list installed | grep docker

删除相关安装包
sudo yum -y remove docker-ce.x86_64
sudo yum -y remove docker-ce-selinux.noarch

删除相关的镜像与容器
sudo rm -rf /var/lib/docker

sudo yum remove docker  docker-common docker-selinux docker-engine

 17、docker run参数说明

语法: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS说明如下:

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-P: 随机端口映射,容器内部端口随机映射到主机的端口

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="nginx-lb": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "mars": 指定容器的hostname;

-e username="ritchie": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

--volume , -v:	绑定一个卷

四、Docker获取portainer镜像,安装 portainer容器

portainer为docker的可视化页面,安装后可以打开,进行可视化操作.

1、搜索portainer镜像

docker search portainer

2、拉取portainer镜像

docker pull portainer/portainer:latest

3、安装并启动一个portainer容器 

docker run -d  --name dzp_portainer  -p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
--restart always \
--privileged=true \
portainer/portainer

4、通过浏览器输入http://ip:9000即可访问portainer,进入可视化页面,操作对应的镜像(Images)和容器(Containers),如下图所示:

docker 每次起一个容器都要安装vim吗 docker必装容器_centos

五、Docker获取jenkins镜像,安装 jenkins容器

1、搜索jenkins镜像

docker search jenkins

2、拉取jenkins镜像

docker pull jenkins/jenkins:lts

3、创建一个jenkins目录 

mkdir /home/jenkins_home

4、启动一个jenkins容器 并绑定jdk路径和maven路径

docker run  --name dzp_jenkins\
	 -u root\
	 -d\
	 -p 8061:8080\
	 -p 50000:50000\
	 -v /usr/bin/docker:/usr/bin/docker:Z \
	 -v /var/run/docker.sock:/var/run/docker.sock:Z \
	 -v /etc/sysconfig/docker:/etc/sysconfig/docker:Z \
	 -v /opt/dzp/jdk1.8.0_201:/opt/software/jdk1.8.0_201:Z \
	 -v /opt/dzp/apache-maven-3.6.3:/opt/software/apache-maven-3.6.3:Z \
	 -v /opt/dzp/maven-repo:/opt/software/maven-repo:Z \
	 -v /home/jenkins_home:/var/jenkins_home:Z   \
	 --restart=always  \
	 --privileged=true \
	 jenkins/jenkins:lts

5、查看jenkins服务 

docker ps | grep jenkins

6、进入jenkins容器内部

docker exec -it dzp_jenkins bash

7、详见 Centos7中通过Docker+Jenkins+gitlab

六、Docker获取svn镜像,安装 svn容器

1、搜索svn镜像

docker search svn

2、拉取svn镜像

docker pull garethflowers/svn-server:latest

3、创建svn容器

docker run --privileged=true \
 --restart always \
--name dzp_svn -d \
-v /root/dockers/svn:/var/opt/svn \
-p 3690:3690 garethflowers/svn-server

4、进入svn容器

docker exec -it dzp_svn /bin/sh

5、创建仓库

[root@local /]# docker exec -it dzp_svn /bin/sh
/var/opt/svn # svnadmin create project

6、svn位置

/root/dockers/svn/project

7、详见  

七、Docker获取tomcat镜像,安装 tomcat容器

1、搜索tomcat镜像

docker search tomcat

2、拉取tomcat镜像

docker pull tomcat:7-jre7

3、创建tomcat容器

docker run -di --name dzp_tomcat \
-p 9000:8080 \
-v /usr/local/myhtml:/usr/local/tomcat/webapps \
--privileged=true tomcat:7-jre7

4、进入tomcat容器

docker exec -it dzp_tomcat /bin/bash

5 、将tomcat中webapps.dist复制到宿主机/usr/local/myhtml中并改名为webapps. 

cd /usr/local/myhtml
docker cp dzp_tomcat:/usr/local/tomcat/webapps.dist webapps

八、Docker获取mysql镜像,安装 mysql容器

1、搜索mysql镜像

docker search mysql

2、拉取mysql镜像

docker pull mysql:5.7

3、创建mysql容器并指定时区

docker run -d --name dzp_mysql57 \
-p 3306:3306 \
-v /home/dzp/mysql57/conf:/etc/mysql/mysql.conf.d  \
-v /home/dzp/mysql57/logs:/logs \
-v /home/dzp/mysql57/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=dzp_dream  \
-e TZ=Asia/Shanghai \
--restart always  \
mysql:5.7 \
--lower_case_table_names=1 \
--default-time_zone='+8:00'

注: -e TZ=Asia/Shanghai  和  --default-time_zone='+8:00'  设置时区

     --lower_case_table_names=1   设置不区分大小写

4、进入mysql容器

docker exec -it dzp_mysql57 /bin/bash

5、进入mysql

mysql -u root -p

九、Docker获取nginx镜像,安装 nginx容器

1、搜索nginx镜像

docker search nginx

2、拉取nginx镜像

docker pull nginx:latest

3、创建nginx容器

docker run -d --name dzp_newnginx \
-p 80:80 \
-v /home/dzp/nginx/html:/usr/share/nginx/html:ro  \
-v /home/dzp/nginx/conf/conf.d:/etc/nginx/conf.d  \
-v /home/dzp/nginx/logs:/var/log/nginx \
nginx

4、进入nginx容器

docker exec -it dzp_newnginx /bin/bash

5、详见  Docker安装

十、Docker获取redis镜像,安装 redis容器

1、搜索redis镜像

docker search redis

2、拉取redis镜像

docker pull redis:latest

3、创建redis容器,并设置密码

docker run -d --name dzp_myredis \
-p 6379:6379 redis:latest \
--requirepass "dzp_dream"

4、进入redis容器

docker exec -it dzp_myredis /bin/bash

5、redis高可用 详

十一、Docker获取zookeeper镜像,安装 zookeeper容器

1、搜索zookeeper镜像

docker search zookeeper

2、拉取zookeeper镜像

docker pull docker.io/wurstmeister/zookeeper

3、创建zookeeper容器

docker run -d --name dzp_zookeeper -p 2181:2181 -t wurstmeister/zookeeper

4、进入zookeeper容器

docker exec -it dzp_zookeeper /bin/bash

十二、Docker获取kafka镜像,安装 kafka 容器

1、搜索kafka镜像

docker search kafka

2、拉取kafka镜像

docker pull docker.io/wurstmeister/kafka:2.12-2.1.0

3、创建kafka容器

docker run -d --name dzp_kafka -p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.189.130:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.189.130:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-t wurstmeister/kafka:2.12-2.1.0

4、进入kafka容器

docker exec -it dzp_kafka /bin/bash

十三、Docker获取postgresql+postgis镜像,安装 postgresql+postgis容器

1、搜索postgresql+postgis镜像

docker search postgresql

2、拉取postgresql+postgis镜像

docker pull kartoza/postgis:11.0-2.5

3、创建postgresql+postgis容器

docker run -t --name dzp_postgresql \
--restart always  \
-e POSTGRES_USER='postgres' \
-e POSTGRES_PASSWORD=dzp_dream \
-e ALLOW_IP_RANGE=0.0.0.0/0 \
-p 5432:5432 -d \
kartoza/postgis:11.0-2.5

4、进入postgresql+postgis容器

docker exec -it dzp_postgresql /bin/bash

十四、Docker获取MinIO镜像,安装 MinIO容器

1、搜索MinIO镜像

docker search minio

2、拉取MinIO镜像

docker pull minio/minio

3、创建MinIO容器

docker run -d -p 9001:9000 --name dzp_minio \
-e "MINIO_ACCESS_KEY=minio" \
-e "MINIO_SECRET_KEY=dzp_dream" \
-v /opt/app/cloud/minio/data:/data \
-v /opt/app/cloud/minio/config:/root/.minio \
minio/minio server /data

4、进入MinIO容器

docker exec -it dzp_minio /bin/bash

 5、安装MinIO集群,请参考

十五、Docker获取gitlab镜像,安装 gitlab容器

1、搜索gitlab镜像

docker search gitlab

2、拉取gitlab镜像

docker pull gitlab/gitlab-ce

3、创建gitlab容器 ( 如果系统开启SElinux时,需要在映射卷的命令后加上":Z" )

docker run -d \
-p 8443:443 \
-p 80:80 \
-p 222:22 \
--name dzp_gitlab \
--restart always \
--hostname  192.168.189.130 \
-v /home/gitlab/config:/etc/gitlab:Z  \
-v /home/gitlab/logs:/var/log/gitlab:Z  \
-v /home/gitlab/data:/var/opt/gitlab:Z \
gitlab/gitlab-ce

4、进入gitlab容器

docker exec -it dzp_gitlab /bin/bash

5、访问gitlab

通过浏览器 ip 直接访问,(端口号默认80)

十六、Docker获取Nacos镜像,安装 Nacos容器

1、搜索Nacos镜像

docker search nacos/nacos-server

2、拉取Nacos镜像

docker pull nacos/nacos-server

3、创建Nacos容器 并 连接mysql数据库

docker run -d \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.220.76 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=dzp_dream \
-e MYSQL_SERVICE_DB_NAME=nacos \
-p 8848:8848 \
--restart=always \
--name dzp_nacos \
nacos/nacos-server

4、进入Nacos容器

docker exec -it dzp_nacos /bin/bash

5、访问:通过 ip:8848/nacos 访问,登录密码默认nacos/nacos 

十七、Docker获取elasticsearch镜像,安装 elasticsearch容器

1、搜索elasticsearch镜像

docker search elasticsearch

2、拉取elasticsearch镜像

docker pull elasticsearch:7.8.0

3、创建elasticsearch容器 

docker run -d --name dzp_ES01 \
-e "ES_JAVA_OPTS=-Xms256m -Xmx256m" \
-p 9200:9200 -p 9300:9300 \
elasticsearch:7.8.0

4、进入elasticsearch容器

docker exec -it elasticsearch /bin/bash

5、访问:通过 http://ip:9200/ 访问,出现下图安装成功

docker 每次起一个容器都要安装vim吗 docker必装容器_docker_02

6、详 

十八、Docker获取RabbitMQ镜像,安装 RabbitMQ容器

1、搜索RabbitMQ镜像

docker search rabbitmq:management

2、拉取RabbitMQ镜像

docker pull rabbitmq:management

3、创建RabbitMQ容器 

docker run -d  \
--name dzp_rabbit -p 15672:15672 -p 5672:5672 \
docker.io/rabbitmq:management

4、进入RabbitMQ容器

docker exec -it dzp_rabbit /bin/bash

5、访问:通过 http://ip:15672/ 访问,出现下图安装成功

docker 每次起一个容器都要安装vim吗 docker必装容器_jenkens_03

6、详见: 

十九、Docker获取私有仓库registry镜像,安装 registry容器

1、搜索registry镜像

docker search registry

2、拉取registry镜像

docker pull registry

3、创建registry容器 

docker run --name dzp_registry \
-p 5000:5000 -di registry

4、进入registry容器

docker exec -it dzp_registry /bin/bash

5、修改配置文件 

vim /etc/docker/daemon.json

添加如下内容:

{
	"insecure-registries":["192.168.1.175:5000"]
}

 6、使其生效并重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

7、访问:通过 http://ip:5000/v2/_catalog 访问,
出现下图安装成功

docker 每次起一个容器都要安装vim吗 docker必装容器_docker_04

二十、Docker获取Memcached镜像,安装 Memcached容器

1、搜索Memcached镜像

docker search memcached

2、拉取Memcached镜像

docker pull memcached

3、创建Memcached容器 

docker run -d --name dzp_mymemcache -p 11211:11211  memcached

4、Memcached相关操作

telnet 127.0.0.1 11211

set test 0 900 9
memcached
STORED

get test 
VALUE test 0 9
memcached

END

quit

二十一、Docker获取MongoDB镜像,安装MongoDB容器

1、搜索MongoDB镜像

docker search mongo

2、拉取MongoDB镜像

docker pull mongo:latest

3、创建MongoDB容器 

docker run -itd --name dzp_mymongo -p 27017:27017 mongo --auth

4、进入MongoDB容器

docker exec -it mymongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
>  db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')

docker 每次起一个容器都要安装vim吗 docker必装容器_centos_05

二十二、Docker获取Nexus3镜像,安装Nexus3容器

1、搜索Nexus3镜像

docker search nexus

2、拉取Nexus3镜像

docker pull docker.io/sonatype/nexus3

3、创建Nexus3容器 

docker run -itd -p 8081:8081 --privileged=true --name dzp_nexus3 \
-v /data/nexus-data:/var/nexus-data --restart=always \
 docker.io/sonatype/nexus3

4、进入Nexus3容器

docker exec -it dzp_nexus3 /bin/bash

docker 每次起一个容器都要安装vim吗 docker必装容器_svn_06

5、详见 二十三、Docker获取达梦数据库(DM8)镜像,安装DM8容器

1、详见 

二十四、Docker获取RocketMQ镜像,安装RocketMQ容器

1、详见 

二十五、Docker安装Prometheus+Grafana+Alertmanager实现企业微信告警监控

1、详见

二十六、Docker安装Zabbix及可视化界面

1、详见 

二十七、查看所有的容器

docker 每次起一个容器都要安装vim吗 docker必装容器_jenkens_07

二十八、其他容器安装

其他容器安装,与以上步骤大同小异。