
本文主要给大家介绍如何使用 docker 搭建常用的服务环境,
包括mysql,reedis,nginx,jenkins 等常用的环境,下面直接进入主题。
1、MySQL 部署
①搜索 MySQL 镜像
docker search mysql
②拉取 MySQL 镜像
docker pull mysql:5.7
③创建容器,设置端口映射,目录映射
●在宿主机中创建一个 MySQL 目录,用来存储数据库信息
mkdir ~/mysql
cd mysql:5.7
●启动容器
- docker run -id \
- -p 3306:3306 \
- --name db \
- -v /mysql/conf:/etc/mysql/conf.d \
- -v /mysql/logs:/logs \
- -v /mysql/data:/var/lib/mysql \
- -e MYSQL_ROOT_PASSWORD=123456 \
- mysql:5.7
○ -p 3307:3306 :宿主机的 3307 端口映射到容器的 3306 端口
○ --name c_mysql: 指定容器名称
○ -v /mysql/conf:/etc/mysql/conf.d : 挂载 MySQL 配置文件的路径到容器
○ -v /mysql/logs:/logs :将 MySQL 日志文件的路径挂载到容器
○ -v /mysql/data:/var/lib/mysql:将主机 MySQL 的数据文件目录挂载到容器
④数据库操作
●进入容器操作数据库
- # 进入容器
- docker exec -it c_mysql /bin/bash
- # 进入mysql
- mysql -uroot -p123456
- # 创建一个远程连接账号
- > use mysql
- > grant all privileges on * to 'test'@'%' identified by 'mysql';
- # 刷新权限
- > flush privileges
●客户端远程连接数据库
- # 数据库host为:宿主机的IP
- # 数据库端口为:3306
- # 数据库账号密码:自己上面设置的账号密码
2、nginx 部署
①搜索镜像
docker search nginx
②拉取镜像
docker pull nginx
③创建容器,映射端口
●本地创建 nginx 数据存储文件
- # 创建nginx目录
- mkdir /nginx
- cd /nginx
- mkdir conf
- cd conf
- # 编辑nginx配置文件
- vi nginx.conf
●nginx 配置文件内容
- user www-data;
- worker_processes auto;
- pid /run/nginx.pid;
- include /etc/nginx/modules-enabled/*.conf;
-
- events {
- worker_connections 768;
- }
-
- http {
- sendfile on;
- tcp_nopush on;
- tcp_nodelay on;
- keepalive_timeout 65;
- types_hash_max_size 2048;
-
- include /etc/nginx/mime.types;
- default_type application/octet-stream;
-
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
- ssl_prefer_server_ciphers on;
-
- access_log /var/log/nginx/access.log;
- error_log /var/log/nginx/error.log;
-
- gzip on;
-
- include /etc/nginx/conf.d/*.conf;
- include /etc/nginx/sites-enabled/*;
-
- }
●运行容器
- docker run -id \
- --name nginx-test \
- -p 8000:80 \
- -v /nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
- -v /nginx/logs:/var/log/nginx \
- nginx
●验证是否安装成功
通过访问 http://ip:8000,验证是否可以访问 nginx 服务。
3、Redis 部署
①搜索镜像
docker search redis
②拉取镜像
docker pull redis
③运行容器
docker run -id --name redis-test -p 6379:6379 redis
●设置密码
docker run -id --name redis-test -p 6379:6379 redis --requirepass 123456
到此为止 Redis 就安装成功啦。
4、jenkins 部署
①下载 jenkins 镜像
docker pull jenkins/jenkins
②启动容器,并映射出端口和挂在目录
docker run --name jenkins -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts-jdk11
③进入容器获取 jenkins 的密码
- # 进入容器
- docker exec -it jenkins /bin/bash
- # 容器内执行,获取jenkins初始密码
- cat /var/jenkins_home/secrets/initialAdminPassword
-
④访问 jenkins 服务 http://ip:8080,输入上面设置的密码,然后按页面提示流程进行初始化操作,设置账号密码,选择安装插件,即可进入到 jenkins 的主页面啦。
5、私有仓库的搭建
如果你想搭建一个自己的私有 Docker 仓库,也很简单,只需要几个步骤即可实现,
①搭建仓库
Docker 官方提供了一个搭建私有仓库的镜像 registry ,只需把镜像下载下来,运行容器并暴露 5000 端口,就可以使用了。
docker pull registry:2
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2
Registry 服务默认会将上传的镜像保存在容器的/var/lib/registry,我们将主机的/opt/registry 目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry 目录了。
②推送镜像到私有仓库
要通过 docker tag 将该镜像标志为要推送到私有仓库:
docker tag nginx:latest localhost:5000/nginx:latest
通过 docker push 命令将 nginx 镜像 push 到私有仓库中:
docker push localhost:5000/nginx:latest
③拉取私有仓库的镜像
拉取私有仓库的镜像,使用如下命令:
- docker pull localhost:5000/镜像名:版本号
- 例如
- docker pull localhost:5000/nginx:latest
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
