zabbix6.0
zabbix6.0需要mysql8.0以上版本
-#先把镜像拉过来:docker pull mysql:8.0
# 1.启动zabbix的数据库
docker run \
--name zabbix-db \
-v /data/zabbix:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123 \
-e MYSQL_DATABASE='zabbix' \
-e MYSQL_USER='zabbix' \
-e MYSQL_PASSWORD='123' \
-p 33061:3306 \
-d mysql:8.0 \
--character-set-server=utf8 \
--collation-server=utf8_bin
-#先把镜像拉过来:docker pull zabbix/zabbix-server-mysql:6.0.21-alpine
# 2.启动zabbix-server
docker run \
--name zabbix-server \
--link zabbix-db \
-e DB_SERVER_HOST="zabbix-db" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="123" \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest
-#先把镜像拉过来:docker pull zabbix/zabbix-web-nginx-mysql:6.0.21-alpine
# 3.启动zabbix前端
docker run \
--link zabbix-db \
--link zabbix-server \
--name zabbix-web \
-e DB_SERVER_HOST="zabbix-db" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="123" \
-e ZBX_SERVER_HOST="zabbix-server" \
-e PHP_TZ="Asia/Shanghai" \
-p 8080:8080 \
-d zabbix/zabbix-web-nginx-mysql:latest
wordpress打镜像如何获取环境变量
----前期准备------------------
# 安装docker
# 拉基础镜像(这里不拉镜像也行)
# 拉个数据库
# 1.创建wordpress镜像目录
[root@docker01 ~]# mkdir wordpress
# 2.编辑wordpress配置文件
vim bilg.conf
server {
listen 80;
server_name _;
root /code/wordpress;
location / {
index index.php index.html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
# 3.安装nginx_php(这里使用的是打好的包)
root@docker01 wordpress]# ll
total 31044
-rw-r--r-- 1 root root 316 Sep 11 14:47 blog.conf
-rw-r--r-- 1 root root 20682659 Sep 11 14:48 nginx_php.tgz
# 4.准备wordpress代码包
root@docker01 wordpress]# ll
total 31044
-rw-r--r-- 1 root root 316 Sep 11 14:47 blog.conf
-rw-r--r-- 1 root root 20682659 Sep 11 14:48 nginx_php.tgz
-rw-r--r-- 1 root root 11098483 Sep 11 14:46 wordpress-5.0.3-zh_CN.tar.gz
# 5.编辑服务启动脚本
## 正常数据库会单独装一台机器,使用这里可以不用装数据库
----不装数据库,这样写,来卡后台----
vim start.sh
#!/bin/bash
/sbin/php-fpm
/sbin/nginx -g "daemon off;"
-----编辑自动化构建文件-----
# 编写Dockerfile
vim Dockerfile
-----不装数据库且优化后(MySQL要单独一台机器)----
FROM centos:7
ADD nginx_php.tgz /opt
COPY start.sh /
RUN rm -f /etc/yum.repos.d/* &&\
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo &&\
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo &&\
sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo &&\
yum insall -y gettext &&\
yum localinstall -y /opt/*.rpm &&\
mkdir /code &&\
rm -f /etc/nginx/conf.d/* &&\
rm -f /opt/* &&\
yum clean all &&\
rm -f /etc/yum.repos.d/*
COPY blog.conf /etc/nginx/conf.d/
ADD wordpress-5.0.3-zh_CN.tar.gz /code
RUN chown -R apache.apache /code/wordpress
EXPOSE 80/tcp 443/tcp
CMD ["/bin/sh","/start.sh"]
VOLUME /code/wordpress
ENV DB_NAME=wordpress
ENV DB_USER=wp_user
ENV DB_PASSWORD=111
ENV DB_HOST=mysql57
----构建镜像--------------------
# 构建镜像docker build
[root@docker01 wordpress]# docker build -t wp:v1 . (在当前目录下时)
或写绝对路径
[root@docker01 wordpress]# docker build -t wp:v1 /root/wordpress
# 查看镜像
[root@docker01 wordpress]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wp v1 e35a7d860177 2 minutes ago 1.02GB
# 测试运行一个容器
[root@docker01 wordpress]# docker run --name wp -p 80:80 -d wp:v1
# 浏览器访问
10.0.0.101:80
--------数据库----------------
# 启动容器
docker run --name mysql57 -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123 -d mysql:5.7
# 进入容器
docker exec -it mysql57 /bin/bash
#通信
docker run --name wp -p 80:80 --link mysql57 -d wp:v2 -e
先把wordpress解压 ,然后把变量写进wp-config-s .php 重新打包
原来的包和目录删除
写Dockerfile 写ENV
起CICD
gitlab
gitlab https://docs.gitlab.com/ee/install/docker.html
# 拉镜像
docker pull gitlab/gitlab-ce:latest
# 运行容器
docker run --detach \
--hostname 1.0.0.9 \
--publish 443:443 --publish 80:80 --publish 220:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ce:latest
docker run --detach \
--env GITLAB_OMNIBUS_CONFIG="external_url='http://127.0.0.1:35080'; gitlab_rails['gitlab_ssh_host'] = '127.0.0.1'; gitlab_rails['gitlab_shell_ssh_port'] = 35022" \
--name gitlab \
--hostname gitlab \
--restart on-failure \
--publish 35080:80 \
--publish 35022:22 \
--volume $PWD/gitlab/config:/etc/gitlab \
--volume $PWD/gitlab/logs:/var/log/gitlab \
--volume $PWD/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
# 查看登录密码
[root@web03 wordpress]# docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
Password: UvdDM/clsg6u0+o5LJF67mArOdOLpNhp9rRa1fHJNGo=
git remote add origin ssh://git@172.17.0.3:35022/root/code.git
jenkins
jenkins https://www.jenkins.io/doc/book/installing/docker/
# 拉jenkins镜像
[root@web03 ~]# docker pull jenkins/jenkins:2.422-jdk11
# 启动jenkins镜像
docker run --detach \
--user root \
--name jenkins \
--hostname jenkins \
--restart on-failure \
--publish 37808:8080 \
--publish 37500:50000 \
--volume $PWD/jenkins:/var/jenkins_home \
jenkins/jenkins:2.422-jdk11
# 查看jenkins密码
启动Jenkins后, 使用浏览器输入服务器地址:37808进入Jenkins界面, 默认的用户为admin, 密码的话我们有两种方式知道密码
网页会提示我们密码储存在/var/jenkins_home/secrets/initialAdminPassword, 所以我们查看这个文件就行了, 使用docker exec -t jenkins cat /var/jenkins_home/secrets/initialAdminPassword即不进入容器查看文件
Jenkins的启动日志中也有密码所在文件的路径以及密码, 使用docker logs jenkins查看Jenkins的日志, 也能找到密码
[root@web03 ~]# docker logs 11407f1f9b0
e232be6f96164c80a4c0c0f850066ec7