一、docker介绍
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 ——摘自百度百科
Docker官网:https://www.docker.com/
二、docker安装
1、dockerHub
DockerHub地址:https://hub.docker.com/
DockerHub上面有着docker官方提供的一些容器样例,下面以redis为例:

直接搜索redis,一般来说最上面的都是官方的镜像,其他的都是非官方开源的版本;点进去

这里面有介绍(Description),有评论(Reviews)以及标签(Tags),这里面会有一些官方提供的教程
2、安装docker
不同操作系统安装对于安装docker的方式都不一样
windows:在docker官网下载安装文件:https://hub.docker.com/?overlay=onboarding
Mac:在docker官网下载安装文件或者用homebrew命令安装:
brew cask install docker
Linux:利用yum安装
#更新源
yum update
#安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
#设置yum源(选择其中一个)
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)
#查看可安装的docker版本
yum list docker-ce --showduplicates | sort -r
#选择版本进行安装
yum install docker-ce-18.03.1.ce (貌似我当初安装只执行了yum install docker)
#启动
service docker start
#开机启动
systemctl enable docker
3、docker相关命令
#检查版本
docker —-vsersion
#查看镜像
docker images
#删除
images:docker rmi <image id>
#查看运行中的容器
docker ps (-a代表查看全部)
#运行
docker run -d(后台运行) -p(暴露端口) —name xxx(起个名字) -e(添加参数) -u(用户) id(镜像id)
#停止
docker stop id(容器id)
#重启
docker start(restart) id
#删除
docker rm id(容器id)
#进入到容器内部
docker exec -it 75310e169cb0(容器id/或者容器名称) /bin/bash
#查看信息:
docker inspect nexus
三、docker部署容器
1、Portainer
portainer是一个docker可视化项目,可以在UI控制台管理docker镜像容器
#拉取镜像
docker pull portainer/portainer
#运行
docker run -d
-p 9000:9000
--restart=always
-v /var/run/docker.sock:/var/run/docker.sock
--name prtainer
portainer/portainer
运行之后访问http://ip:9000访问,首次登录需要配置一下,(忘记怎么操作的了,比较简单,网上搜一下即可)
进入后界面如下所示:

2、Redis
#拉取镜像
docker pull reids
#创建需要挂载的文件夹
mkdir -p /docker/redis/conf /docker/redis/data
#运行
docker run
-d #后台运行
-p 16379:6379 #外部的16379映射到内部的6379
--restart always #自动重启
-v /docker/redis/conf/redis.conf:/etc/redis/redis.conf #映射配置文件
-v /docker/redis/data:/data #映射数据目录
--name redis #指定容器名称
redis #镜像名称
redis-server /etc/redis/redis.conf #以配置文件启动
--appendonly yes #持久化
3、RabbitMQ
#拉取镜像
docker pull rabbitmq
#启动
docker run
-d
--name rabbitmq
-p 15672:15672 #管理控制台端口
-p 5672:5672
--hostname
my_rabbitmq e8261c2af9fe
(-e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password 可选)
-e指定参数,如果不指定,rabbit默认用户名guest,密码guest
4、ElasticSearch
#拉取镜像
docker pull elasticsearch:5.5.1
#启动
docker run -d --name es -p 9200:9200 -p 9300:9300 4255fc97fa5f
#Es启动需要2g堆内存空间,防止不足,加上参数:-e "ES_JAVA_OPTS=-Xms512m -Xmx512m"
5、Mysql
#拉取镜像
docker pull mysql
#启动
docker run
--name mysql
-e MYSQL_ROOT_PASSWORD=123456 #指定root账户密码
-p 3306:3306
-d f991c20cb508
6、Jenkins
#拉取镜像
docker pull jenkins/jenkins:lts
#创建挂载文件夹
mkdir /usr/local/jenkins
#运行
docker run
-u root
-d
-p 8090:8080
-p 50000:50000
-v /usr/local/jenkins:/var/jenkins_home
--name jenkins 806f56c84444
#jenkins首次登录需要密码,默认初始密码可以查看
cat /usr/local/jenkins/secrets/initialAdminPassword(查看初始密码)