您的位置:首页 > 运维架构 > Docker

Docker-Docker安装mysql、nginx、redis、jenkins

2018-03-29 23:24 1061 查看
第一种方法是方法通过 Dockerfile构建,不推荐折磨人。

第二种docker pull mysql

第一步

我们新建一个目录,自己随意

mkdir -p /var/www/mysql/data /var/www/mysql/logs /var/www/mysql/conf


第二步然后新建my.cnf

这个是mysql的配置文件,在使用docker创建mysql,当容器删除,mysql的数据就会清空,这个时候我们需要把mysql的配置、数据、日志从容器内映射到容器外,这样数据就保持下来了

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character_set_server=utf8mb4
init_connect='SET NAMES utf8mb4'
default-storage-engine=INNODB
collation-server=utf8mb4_general_ci
user=mysql
port=3306
bind-address=0.0.0.0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-set=utf8mb4


第三步启动容器

docker run -p 3306:3306 --name mymysql -v $PWD/conf/my.cnf:/var/www/mysql/my.cnf -v $PWD/logs:/var/www/mysql/logs -v $PWD/data:/var/www/mysql/data -e MYSQL_ROOT_PASSWORD=pass1234 -d mysql


下面是启动mongodb

mkdir -p /var/www/mongo  /var/www/mongo/db
docker pull mongo
docker run -p 27017:27017 -v $PWD/db:/var/www/mongo/db -d mongo


下面是安装nginx

mkdir -p /var/www/nginx/www /var/www/nginx/logs /var/www/nginx/conf
docker pull nginx
docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs  -d nginx


特别注意 配置中不能用127.0.0.1 需要用宿主ip也就是你服务器的ip,因为127.0.0.1是docker的哦

比如

server {
listen       80;
server_name  gd.songnini.com;
location / {
proxy_pass   http://123.56.22.40:8021; proxy_max_temp_file_size 0;
expires 1h;

}

error_page   404 500 502 503 504  /50x.html;
location = /50x.html {
root   html;
}
}


下面是安装redis

mkdir -p /var/www/redis /var/www/redis/data
docker pull  redis
cd /var/www/redis
docker run -p 6379:6379 -v $PWD/data:/data  -d redis redis-server --appendonly yes


安装jenkins

mkdir -p /var/www/jenkins/var
docker pull jenkins
cd /var/www/jenkins
docker run -itd -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true  -v /var/www/jenkins:/var/jenkins_home jenkins
使用端口8080访问
密码使用命名查看
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword


p 3306:3306:将容器的3306端口映射到主机的3306端口

-v $PWD/conf/my.cnf:/var/www/mysql/my.cnf:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf

-v $PWD/logs:/var/www/mysql/logs:将主机当前目录下的logs目录挂载到容器的/logs

-v $PWD/data:/var/www/mysql/data:将主机当前目录下的data目录挂载到容器的/mysql_data

-e MYSQL_ROOT_PASSWORD=pass1234:初始化root用户的密码





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  docker