portainer篇
1. 拉取portainer镜像
docker pull portainer/portainer
2.启动portainer容器
docker run -d -p 9000:9000 --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ --name portainer portainer/portainer
-p: 指定宿主机端口和容器端口 portainer默认端口是9000
-v: 目录映射,将/var/run/docker.sock映射到容器中,用于访问Docker的守护进程,控制Docker。/dockerData/portainer保存Portainer的配置信息。
--restart=always: 代表在容器退出时总是重启容器,还有其他几种重启策略:no、on-failure、on-failuer:n、unless-stopped
在服务器开启防火墙9000端口(这里用的是腾讯云 则在腾讯云的规则里面暴露9000端口)
使用
服务器公网IP:9000端口
则可以访问portainer容器啦~
第一次进去需要设置密码 设置完密码portainer就安装成功~
mysql篇(mysql安装启动运行)
拉取最新mysql镜像:
docker pull mysql
但是我们指定5.7版本
docker pull mysql:5.7
拉取镜像后开始启动
docker run -d -p 3306:3306 -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
指令参数介绍:
配置端口映射:
-p 3306:3306 --name mysql
将主机的3306端口映射到容器的3306端口
配置mysql数据卷挂载
1.-v /mydata/mysql/log:/var/log/mysql(日志文件挂载)
将主机中的日志文件夹挂载到对应容器的/var/log/mysql文件夹中
2.-v /mydata/mysql/data:/var/lib/mysql(数据文件挂载)
将主机中的数据文件夹挂载到主机对应容器的/var/lib/mysql文件夹中
3.-v /mydata/mysql/conf:/etc/mysql(配置文件挂载)
将主机的配置文件夹挂载到对应容器的/etc/mysql文件夹中
注(这里所提的主机指的是当前的linux宿主机)
配置用户
-e MYSQL_ROOT_PASSWORD=123456
设置初始化root用户的密码
指定镜像资源
-d mysql:5.7
-d:以后台方式运行实例
mysql:5.7:指定用这个镜像来创建运行实例
可以看到mysql容器已经运行起来了
放开3306端口
连接远程服务器mysql
连接成功。
Jenkins篇
通过docker拉取Jenkins镜像
docker pull jenkins/jenkins
接着新建一个用来挂载的文件夹,赋予权限
#创建文件夹
mkdir -p /data/docker/jenkins
#权限
chmod 777 /data/docker/jenkins
打开这个xml文件
将这个url换成清华大学官方镜像
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
启动Jenkins容器
docker run -d -uroot -p 9001:8080 -p 50000:50000 --name jenkins -v /data/docker/jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins
-v /etc/localtime:/etc/localtime让容器使用和服务器同样的时间设置。
-p 9001:9001 将主机的9001端口映射到容器的的9001端口。
-p 50000:50000 将主机的50000端口映射到容器的50000端口
放开9001端口
通过浏览器 使用
服务器公网IP+9001
访问Jenkins
这里提示密码存在这个文件夹
注意这个文件夹是在docker容器里面的 所以我们需要进入到docker容器里面去取密码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
将输出的密码粘贴到框内 稍等一下 继续下一步
这里我们选择第一个
等待
创建管理员账号
这里使用默认填充的url就好
安装完成!
Redis篇
1 拉取Redis最新镜像
docker pull redis
2 从官网下载redis.conf配置文件
https://redis.io/docs/management/config/
修改这几行
protected-mode no #保护模式,限制为本地访问,修改后解除保护模式
requirepass root #设置密码
3 启动容器
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /data/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /opt/myredis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass root
nginx篇
拉取镜像
docker pull nginx
创建文件夹用于挂载文件
这里不需要创建html文件 下面步骤会复制容器的html文件进来。
启动nginx 测试镜像是否成功拉取
#8081对应本机的8081端口 80对应容器的80端口
#即将容器的80端口映射到本机的8081端口
#通过访问本机的8081端口去访问容器的80端口。
docker run -d --name nginx -p 8081:80 nginx
这里我使用了80端口 上面的8081只是用来较好的比喻。
将容器的文件复制进新建好的文件夹
docker cp 08b1b53fae8f:/etc/nginx/nginx.conf /data/docker/nginx/
docker cp 08b1b53fae8f:/etc/nginx/conf.d/* /data/docker/nginx/conf/
docker cp 08b1b53fae8f:/usr/share/nginx/html/ /data/docker/nginx/html/
前面的那串代码为容器ID,可以通过docker ps -a查看nginx的容器ID。
例如:
接着停止并删除当前容器
docker stop 08b1b53fae8f
docker rm -f 08b1b53fae8f
接着将文件夹挂载并且启动nginx
docker run --name nginx -p 80:80 -v /data/docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /data/docker/nginx/html/:/usr/share/nginx/html/ -v /data/docker/nginx/logs/:/var/log/nginx/ -v /data/docker/nginx/conf/:/etc/nginx/conf.d --privileged=true -d nginx