Docker搭建常用系统

104 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第7天,点击查看活动详情

jenkins

搭建

后台运行jenkins容器,把jenkins的主目录挂在到主机的~/docker_data/jenkins_data目录下,/var/jenkins_home是jenkins镜像的主目录,把容器中的jenkins默认的8080端口映射到主机的8086端口(否则外面无法访问容器的jenkins),监控如果服务异常则自动重启,并以root用户启动 命令:

docker run -d --name=jenkins -v ~/docker_data/jenkins_data:/var/jenkins_home -p 8086:8080 -u root --restart=always jenkins

坑位

1、报错:UnknownHostException:updates.jenkins-ci.org 解决:需要修改jenkins的默认插件连接中心成国内源。 步骤:

  • exec -it 进入jenkins容器
  • vi /var/jenkins_home/hudson.model.UpdateCenter.xml
  • 把地址改成国内源
  • 重启docker:docker restart jenkins容器名

官网教程

hub.docker.com/_/jenkins

gitlab

搭建

  • 由于gitlab有多个目录(配置/log/数据),所以创建个临时环境变量,用于充当gitlob的主目录
    • export GITLAB_HOME=/docker_data/gitlab_data
  • 启动容器
docker run -d --name=gitlab_test --restart=always -v $GITLAB_HOME/config:/etc/gitlab -v $GITLAB_HOME/logs:/var/log/gitlab -v $GITLAB_HOME/data:/var/opt/gitlab -p 443:443 -p 80:80 -p 22:22 gitlab/gitlab-ce 

注意

如果机器配置低(gitlab很吃资源的),可能会出现:Error executing action run on resource 'bash[migrate gitlab-rails database]'

访问

浏览器访问:IP地址

官网教程

hub.docker.com/r/gitlab/gi… docs.gitlab.com/omnibus/doc…

nginx

搭建

  • 启动容器
docker run -d --name nginx_test -p 80:80 nginx

官方教程

hub.docker.com/_/nginx/

mysql

搭建

1、启动mysql,并生成指定的root密码

docker run -d --name mysql_test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

2、进入容器

docker exec -it mysql_test sh

Docker的UI可视化系统

搭建

docker run -d --name docker-web -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker

监控容器的系统

监控容器资源使用情况

  • 方式一
    • 命令行实时查看容器资源使用情况:docker stats 容器名
  • 方式二:搭建cAdvisor
sudo docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro -volume=/dev/disk/:/dev/disk:ro --publish=8081:8080 --detach=true --name=cadvisor --privileged --device=/dev/kmsg gcr.io/cadvisor/cadvisor:$VERSION