Docker篇 CentOS 安装Docker - 菜鸟教程 安装须知: 1.Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 2.Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。 通过 uname -r 命令查看你当前的内核版本
安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2添加软件源信息:
sudo yum-config-manager --add-repo更新 yum 缓存:
sudo yum makecache fast安装 Docker-ce:
sudo yum -y install docker-ce启动 Docker 后台服务
sudo systemctl start docker测试运行 hello-world
[root@runoob ~]# docker run hello-world 会自动下载一个镜像运行注意配置CDN加速:
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:。
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个):
{ "registry-mirrors": ["http://hub-mirror.c.163.com"] } Docker正式使用常见命令Docker-Hub注册:https://hub.docker.com/signup
Docker验证登录
docker loginDocker寻找镜像
docker search tomcatDocker拉取镜像
docker pull tomcatDocker查看本地镜像
docker imagesDocker删除镜像和容器
docker删除镜像: docker rmi 镜像ID 如果是本地的包含tag的话需要指明 docker rmi 806857264/kerwin_docker:kerwin_tomcat_8080 docker删除容器: 首先需要停止容器 docker stop 【id名字】 docker rm 【id名字】Docker查看正在运行的容器
docker ps 查看所有容器 docker ps -aDocker交互模式进入到目标文件目录
docker exec -it d585d5151285 /bin/bash 交互模式进入到目标文件目录,可以进行修改等,如进入到tomcat目录 d585d5151285为容器ID停止容器/重启容器
docker stop 【名字】 docker start 【名字】 docker restart 【名字】 Docker运行镜像 如tomcat为例: docker run --name tomcat-80 -p 80:8080 -v /home/docker_tomcat:/usr/local/tomcat/webapps -d tomcat 重命名为tomcat-80 端口映射 80->8080 宿主机文件交互目录 运行的镜像为tomcat :ro赋予可读权限 Docker部署redis redis.conf 配置文件 --- 创建:/home/docker_redis/conf 创建:/home/docker_redis/data ze yes #设置进程锁文件 pidfile /redis/redis.pid #端口 port 6379 #客户端超时时间 timeout 1500 #日志级别 loglevel debug #日志文件位置 logfile /log/log-docker_redis.log #设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id databases 8 ##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合 #save <seconds> <changes> #Redis默认配置文件中提供了三个条件: save 900 1 save 300 10 save 60 10000 #指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间, #可以关闭该#选项,但会导致数据库文件变的巨大 rdbcompression yes #指定本地数据库文件名 dbfilename dump.rdb #指定本地数据库路径 dir /redis/db/ #指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能 #会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有 #的数据会在一段时间内只存在于内存中 appendonly no #指定更新日志条件,共有3个可选值: #no:表示等操作系统进行数据缓存同步到磁盘(快) #always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全) #everysec:表示每秒同步一次(折衷,默认值) appendfsync everysec #redis配置外网访问: protected-mode no #配置密码 requirepass 123456 运行命令: 如redis为例: docker run -d --privileged=true -p 56379:6379 -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data --name redis_56379 redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456 映射ip 56379->6379 映射宿主机文件夹(配置文件和数据) 启动redis-server 按配置文件启动 密码规定为123456 Docker部署nginx进行反向代理 docker pull nginx 创建对应文件夹,进行目录映射 运行nginx镜像: docker run --name nginx-80 -d -p 80:80 -v /home/docker_nginx/html:/usr/share/nginx/html -v /home/docker_nginx/nginx.conf:/etc/nginx/nginx.conf:ro -v /home/docker_nginx/conf.d:/etc/nginx/conf.d nginx ip映射80,文件夹映射,注意nginx.conf:ro 可读权限,conf.d目录下存放对应的配置即可Nginx配置说明:
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; }