1.docker 安装及配置
1.1.docker 两个重要概念:
镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。
容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器进程做隔离,对外不可见。
1.2.centos安装docker及相关配置
docker-ce为社区免费版本。稍等片刻,docker即可安装成功。
yum install -y docker-ce
更新docker的yum源
wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo #将前面的那个文件下下来写到后边这个文件中
安装docker(主从节点同时操作)
yum -y install docker-ce-19.03.13
配置docker 加速器(主从节点同时操作)
/etc/docker/daemon.json (没有则新建)
{
"registry-mirrors" : ["https://registry.docker-cn.com"]
}
开启docker开机自启(主从节点同时操作)
systemctl enable docker
启动docker
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
2.docker基本操作
2.1镜像的查找及拉取
搜索镜像
docker search 【镜像名】
拉取镜像
docker pull 【镜像名】
查看拉取到的镜像
docker images
查看运行中的镜像
docker ps
2.2.镜像的保存及导入
镜像的保存
docker save -o 【保存的目标文件名称】 【镜像名称】
镜像的导入
docker load -i 【目标文件名称】
2.3.镜像的停止及删除
停止运行中的镜像
docker stop 【镜像id或者名字】
删除占用名
docker rm 【镜像名字】
删除image
docker rmi 【image名字】
暂停一个镜像
docker pause 【镜像id或者名字】
让一个容器从暂停状态恢复运行
docker unpause 【镜像id或者名字】
2.3.运行并操作一个容器
创建一个nginx 镜像
docker run --name containerName -p 80:80 -d nginx
命令解读:
- docker run :创建并运行一个容器
- –name : 给容器起一个名字,比如叫做mn
- -p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
- -d:后台运行容器
- nginx:镜像名称,例如nginx
查看容器日志
docker logs -f 【容器id或名字】
2.4.数据卷
数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录。
基本语法
docker volume 【COMMAND】
docker volume命令是数据卷操作,根据命令后跟随的command来确定下一步的操作:
- create 创建一个volume
- inspect 显示一个或多个volume的信息
- ls 列出所有的volume
- prune 删除未使用的volume
- rm 删除一个或多个指定的volume
2.5.案例
安装mysql 并配置挂在目录,目录及文件需自己创建
docker run -d -e MYSQL_ROOT_PASSWORD=root123456 --name mysql -v /home/docker/docker-mysql/my.cnf:/etc/mysql/my.cnf -v /home/docker/docker-mysql/mysql-files:/var/lib/mysql-files/ -v /home/docker/docker-mysql/data:/var/lib/mysql -p 3306:3306 mysql:5.7.32
安装redis
docker run -d --name myredis -p 6379:6379 redis --requirepass "root123456"
安装nginx,目录及文件需自己创建
docker run --name nginx -p 80:80 -p 8089:8089 -v /home/docker/docker-nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/docker/docker-nginx/html:/etc/nginx/html -v /home/docker/docker-nginx/log:/var/log/nginx -v /home/docker/docker-nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -d nginx