一、Docker安装
- 1、卸载以前安装的docker
sudo yum remove docker \ docker-client \ docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
- 2、yum安装Docker
yum install -y docker
- 3、查看是否安装成功
yum list installed |grep docker
- 4、查看docker状态/启动docker
systemctl status docker
systemctl start docker
- 5、开机自启动
systemctl enable docker
- 6、配置docker国内镜像
vim /etc/docker/daemon.json
- 7、重启docker
systemctl restart docker
二、安装Centos容器并安装Jdk
- 1、拉取centos镜像
docker pull centos
- 2、查看镜像
docker images
- 3、启动容器并进入控制台
容器是基于镜像创建的,执行镜像生成容器,方可进入容器
启动容器命令: docker run <相关参数> <镜像 ID> <初始命令>
docker run --privileged=true --name jdk-centos -it -v /home/soft/:/mnt/software cnetos/bin/bash
参数解析
--privileged 使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。
--name: 给容器命名
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
/bin/bash:一旦容器启动,需要执行的命令,当前使用 "/bin/bash", 表示启动后直接进bash shell
/root/software是宿主机器(Linux)上创建的一个文件夹;
/mnt/software是centos的容器里面的目录文件
这里挂载的意思就是 cneots 创建的容器访问 /mnt/software/ 目录下的文件就相当于访问 宿主机的 /root/software/下的文件,且两者文件夹里内容相同
- 4、进入容器的/root/software/(注意,这里的jdk安装包是上传到宿主机/home/soft下的安装包)
- 5、解压jdk-8u144-linux-x64.tar.gz
tar -zxvf jdk-8u144-linux-x64.tar.gz
- 6、配置profile文件
vi /etc/profile
在文件最后配置
- 7、使配置生效
source /etc/profile
- 8、查看jdk信息
java -version
三、Docker安装部署Redis
-
1、查看redis镜像的版本信息 dockr仓库
-
2、拉取redis镜像
不指定版本号时,默认拉取最新版本
# 不指定版本号
docker pull redis
# 指定版本号
docker pull redis
- 3、查看镜像
docker images
可以看到镜像名,版本信息,镜像id,创建时间以及镜像大小
- 4、启动镜像 docker run -itd --name “容器名” -p 6379:6379(宿主机端口:容器内使用端口) redis(镜像名)
# 后台启动容器,并将宿主机的6379端口与容器的6379端口进行映射,使用redis镜像创建redis-test容器
docker run -itd --name redis-test -p 6379:6379 redis
- 5、查看容器状态 docker ps
docker ps
可以查看到容器ID,镜像名,命令,创建时间,状态,端口映射以及容器名
- 6、进入容器
docker exec -it redis-test /bin/bash
- 7、退出容器
exit
- 8、查看容器运行日志
docker logs container_id 输出日志
docker logs -f container_id 输出实时日志
docker logs -f container_id --tail n 输出之前最后n条日志
四、Docker部署Nginx
- 1、下载nginx镜像
docker pull nginx
- 2、查看镜像信息
docker images
- 3、启动镜像
# 创建名为nginx-test的容器
# 映射端口信息为宿主机为8888,容器端口为80(因为nginx默认代理端口为80)
docker run -itd --name nginx-test -p 8888:80 nginx
-
4、访问宿主机的8888端口
访问到此页面代表部署成功 -
5、外挂配置文件
因为nginx的配置文件可能会由于代理问题或者部署问题会经常进行改动,所以我们可以将nginx的配置文件放在宿主机内一份,然后跟容器内的配置文件进行映射使用。
# 将宿主机内/home/nginx/config/conf.d/路径下的default.conf文件与容器内/etc/nginx/conf.d/路径下的default.conf文件进行映射
docker run -itd --privileged=true --name nginx-test -p 8888:80 -v /home/nginx/config/conf.d/:/etc/nginx/conf.d/ nginx
- 6、查看是否配置成功
# 修改宿主机中的配置文件
vim default.conf
# 进入nginx容器的控制台
docker exec -it nginx-test /bin/bash
# 进入/etc/nginx/conf.d
cd /etc/nginx/conf.d
# 输出容器内的配置文件内容
cat default.conf
发现宿主机的配置文件与容器的配置文件一致,则代表挂载成功
五、Docker安装Mysql
# 查看端口是否被占用的命令
netstat -apn | grep 3306
- 1、拉取镜像mysql5.7
docker pull mysql:5.7
- 2、启动容器命令
# MYSQL_ROOT_PASSWORD=123456 设置root密码为123456
docker run -p 3306:3306 --name my-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
- 3、链接mysql