Docker 学习 | 第七篇:Docker运行redis/jenkins/gitlab/nginx
Docker 学习 | 第七篇:Docker运行redis/jenkins/gitlab/nginxDocker运行redis拉取镜像docker pull redis运行镜像docker run -it -d --name redis -p:6379:6379 redis如果没有什么意外的话,redis已经运行起来了。哈哈,Docker就是这么简单.R...
Docker 学习 | 第七篇:Docker运行redis/jenkins/gitlab/nginx
Docker运行redis
拉取镜像
docker pull redis
运行镜像
docker run -it -d --name redis -p:6379:6379 redis
如果没有什么意外的话,redis
已经运行起来了。哈哈,Docker
就是这么简单.
Redis配置
默认情况下redis
是没有配置文件的,如果需要指定配置文件的话,可以通过指定挂载目录以及运行参数来实现:
docker run -it -d --name redis -p 6379:6379 \
-v /xxx/redis.conf:/etc/redis/redis.conf redis /etc/redis/redis.conf
上述命令的操作包含了挂载了主机/xxx/redis.conf
到容器的/etc/redis/redis.conf
中,在镜像名后面跟着的是启动容器时的参数,这里填写了容器中配置文件的路径,则会应用该配置文件,最终是主机/xxx/redis.conf
文件生效。
数据保存在本地
默认情况下,redis
的数据是保存在容器中的/data
目录的,容器停止的时候,redis
也停止了,但是容器的数据是无法保存的,所以重启redis
容器后数据无法恢复,所以需要将该目录挂载到主机目录。这样就安全了.
docker run -it -d --name redis -p 6379:6379 \
-v /xxx/redis.conf:/etc/redis/redis.conf \
-v /xxx/xxx:/data redis /etc/redis/redis.conf
Docker
安装运行redis
就完成了。
Docker运行jenkins
拉取镜像
docker pull jenkins
运行
docker run -it -d --name jenkins -p 8080:8080 jenkins
访问jenkins
可以通过以下访问以下路径来访问jenkins
http://localhost:8080/
访问的时候需要输入初始密码,这个初始密码可以通过一下docker logs jenkins
来查看:
Please use the following password to proceed to installation:
c644e252200a43379c0e212d35675ed5
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
从logs
中找到以上字符串,中间输出的那个就是初始密码。
输入密码之后就可以进行密码修改,并且配置jenkins
啦。
Docker运行gitlab
拉取镜像
docker pull gitlab
运行
docker run -it -d --name gitlab \
-v /srv/gitlab/config:/etc/gitlab \
-v /srv/gitlab/logs:/var/log/gitlab \
-v /srv/gitlab/data:/var/opt/gitlab \
-p 443:443 \
-p 80:80 \
-p 22:22 \
gitlab
上述命令启动gitlab
,并且把gitlab
的一些相关目录挂载到/srv/gitlab
下面,同时开放相关的端口号。
配置
假设我需要配置通过9000
端口访问gitlab
,可以编辑/srv/gitlab/config/gitlab.rb
文件,修改该文件以下内容:
external_url 'http://localhost:9000'
除此之外还需要将容器的端口9000
映射到主机的某个端口。
正确做法应该是:停止容器->移除容器->重新运行容器(添加9000
的端口映射)
Docker运行nginx
拉取镜像
docker pull nginx
配置
默认情况下,nginx
运行起来之后,他的配置文件都是在容器的/etc/nginx
目录下面。
我们需要配置nginx
,需要把该目录挂载到主机目录,方便进行配置,所以需要做以下操作:
执行命令
cd /etc
mkdir /nginx
cd nginx
touch nginx.conf
mkdir conf.d
上述命令创建了目录/etc/nginx
,并且在该目录下面创建了nginx.conf
文件和conf.d
目录。
上述步骤一定要做,不然启动nginx
的时候把目录挂载之后,docker
是不会自动帮你创建文件的。会导致启动失败。
接下来我们编辑nginx.conf
文件,文件内容为如下:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
#include /etc/nginx/mime.types;
#default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
此时所有准备工作已经完毕。
运行nginx
docker run -it -d --name nginx -p 80:80 \
-v /etc/nginx:/etc/nginx \
nginx
执行完以上命令之后,nginx
已经正常启动。
更多推荐
所有评论(0)