安装Docker
Docker 要求 CentOS 系统的内核版本高于 3.10 , uname -r 命令查看你当前的内核版本
1 安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2 添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3 更新 yum 缓存:
sudo yum makecache fast
4 安装 Docker-ce:
sudo yum -y install docker-ce
5 启动 Docker 后台服务
sudo systemctl start docker
6 配置 镜像加速
vim /etc/docker/daemon.json
{ "registry-mirrors": ["http://hub-mirror.c.163.com"] }
docker删除命令
sudo yum remove docker-ce
sudo rm -rf /var/lib/docker
Docker 安装mysql
1 查找Docker Hub上的mysql镜像
docker search mysql
2 这里我们拉取官方的镜像,标签为5.6
docker pull mysql:5.6
3 等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为mysql,标签为5.6的镜像。
docker images |grep mysql
使用 mysql 镜像
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
命令说明:
-
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-
-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
-
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
-
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
查看容器启动情况
docker ps
登陆mysql
mysql -u root -p
Docker 安装Nginx
1 查找 Docker Hub 上的 nginx 镜像
docker search nginx
2 这里我们拉取官方的镜像
docker pull nginx
3 等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 nginx 的镜像。
docker images nginx
4 以下命令使用 NGINX 默认的配置来启动一个 Nginx 容器实例:
docker run --name runoob-nginx-test -p 8081:80 -d nginx
runoob-nginx-test
容器名称。- the
-d
设置容器在在后台一直运行。 - the
-p
端口进行映射,将本地 8081 端口映射到容器内部的 80 端口。
执行以上命令会生成一串字符串,类似 1dd4380ba70820bd2acc55ed2b326dd8c0ac7c93f68f0067daecad82aef5f938,这个表示容器的 ID,一般可作为日志的文件名。
5 我们可以使用 docker ps 命令查看容器是否有在运行:
docker ps
6 PORTS 部分表示端口映射,本地的 8081 端口映射到容器内部的 80 端口。
在浏览器中打开 http://127.0.0.1:8081/,效果如下:
nginx 部署
首先,创建目录 nginx, 用于存放后面的相关东西
mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf
拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录,容器 ID 可以查看 docker ps 命令输入中的第一列:
docker cp 6dd4380ba708:/etc/nginx/nginx.conf ~/nginx/conf
- www: 目录将映射为 nginx 容器配置的虚拟目录。
- logs: 目录将映射为 nginx 容器的日志目录。
- conf: 目录里的配置文件将映射为 nginx 容器的配置文件。
部署命令
docker run -d -p 8082:80 --name runoob-nginx-test-web -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx
-
-p 8082:80: 将容器的 80 端口映射到主机的 8082 端口。
-
--name runoob-nginx-test-web:将容器命名为 runoob-nginx-test-web。
-
-v ~/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。
-
-v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。
-
-v ~/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。
cd ~/nginx/www
创建 index.html 文件,效果如下:
相关命令
如果要重新载入 NGINX 可以使用以下命令发送 HUP 信号到容器:
docker kill -s HUP container-name
重启 NGINX 容器命令:
docker restart container-name
Docker 安装 Tomcat
1 查找Docker Hub上的tomcat镜像
docker search tomcat
2 这里我们拉取官方的镜像
docker pull tomcat
3 等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为tomcat的镜像。
docker images|grep tomcat
使用tomcat镜像
docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat
命令说明:
-p 8080:8080:将容器的8080端口映射到主机的8080端口
-v $PWD/test:/usr/local/tomcat/webapps/test:将主机中当前目录下的test挂载到容器的/test
查看容器启动情况
docker ps
通过浏览器访问
Docker 安装 java
1 查找Docker Hub上的java jdk镜像
docker pull java:8u111
2 这里我们拉取官方的镜像
docker pull java:8u111
3 使用镜像
docker run -d -p 9090:9090 -v /usr/springboot-1.jar:/usr/springboot-1.jar --name springboot java:8u111 java -jar /usr/springboot-1.jar
命令说明:
- -d 表示在后台启动
- -p 9090:9090 表示将容器的端口 映射成宿主主机的端口,否则9090端口访问不到
- -v /usr/springboot-1.jar:/usr/springboot-1.jar 表示将宿主主机的jar文件,映射到容器中(分号前为宿主主机的路径,分号后为容器中的路径)
- --name springboot 表示为该容器取一个全局唯一的名称,这里我取的名称为springboot
- java:8u111 表示镜像文件的名称和tag
- java -jar /usr/springboot-1.jar 表示运行jar包,注意:这里的jar包为容器中的位置,是通过前面的-v属性映射的
查看镜像
docker images
Docker 安装 rabbit
1 查找Docker Hub上的rabbit镜像
docker search rabbitmq:3-managemen
2 这里我们拉取官方的镜像
docker pull rabbitmq:3-managemen
3 使用镜像
第一种是 默认生成的 登陆名guest 密码guest
第二只种 可设置密码
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:3-management
docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 -p 5672:5672 rabbitmq:3-management
Docker 安装 Redis
1 查找Docker Hub上的Redis镜像
docker search redis
2 这里我们拉取官方的镜像
docker pull redis:5.0
3 使用镜像
docker run -p 6379:6379 -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes
4 连接容器
docker exec -it 4655d050c898 redis-cli
5 查看容器信息
info