目录
一、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简介
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获取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/ 访问,出现下图安装成功
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/ 访问,出现下图安装成功
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获取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获取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
5、详见 二十三、Docker获取达梦数据库(DM8)镜像,安装DM8容器
1、详见
二十四、Docker获取RocketMQ镜像,安装RocketMQ容器
1、详见
二十五、Docker安装Prometheus+Grafana+Alertmanager实现企业微信告警监控
1、详见
二十六、Docker安装Zabbix及可视化界面
1、详见
二十七、查看所有的容器
二十八、其他容器安装
其他容器安装,与以上步骤大同小异。