docker安装及使用

一、docker优点及作用

优点:

  • 基础镜像MB级别
  • 创建简单
  • 隔离性强
  • 启动速度秒级
  • 移植与分享放便

作用:资源隔离

  • cpu、memory资源隔离与限制
  • 访问设备隔离与限制
  • 网络隔离与限制
  • 用户、用户组隔离限制

二、docker安装

2.1.配置yum源

bash 复制代码
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2.2 安装docker

bash 复制代码
yum install -y docker-ce docker-ce-cli containord.io

docker-ce:docker服务器,社区版
docker-ce-cli:操作docker的命令行
containord.io:docker容器的运行环境

2.3 启动docker,并设置为开机自动启动

启动docker

bash 复制代码
systemctl start docker

设置开机启动

bash 复制代码
systemctl enable docker

2.4 配置镜像加速

国内下载国外的镜像有时候会很慢,因此可以更改 docker 配置文件添加一个加速器,可以通过加速器达到加速下载镜像的目的。

bash 复制代码
mkdir -p /etc/docker
vim /ect/docker/deamon.json 
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
systemctl daemon-reload  #重载配置文件
systemctl restart docker #重新启动docker

三、docker基本命令

  • 下载镜像
bash 复制代码
#下载最新版本
docker pull nginx  
#下载指定版本(镜像名:版本号)
docker pull nginx:1.20.1
  • 查看所有镜像
bash 复制代码
docker images
  • 删除镜像
bash 复制代码
docker rmi 镜像名:版本号
docker rmi 镜像id
  • 运行
bash 复制代码
#docker run 设置项 镜像名
# 设置项:--name mynginx:容器名字
# 设置项:-d:后台运行
# 设置项:--restart=always:开机启动
# 设置项:-p:端口映射(-p 88:80,主机88端口的数据会传到容器80端口)
# 设置项:-v 映射数据到外部修改(如果主机路径的数据为空,docker也是空的)
docker run --name mynginx -d --restart=always -p 88:80  -v 主机路径:docker内部路径 nginx
docker run -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d --name myredis -p 6379:6379 redis redis-server /etc/redis/redis.conf
  • 查看容器
bash 复制代码
#查看正在运行的容器
docker ps
#查看所有容器
docker ps -a
  • 删除容器
bash 复制代码
#删除停止的容器
docker rm 容器id/名字
#强制删除运行中的容器
docker rm -f 容器id/名字
  • 停止容器
bash 复制代码
docker stop 容器id/名字
  • 启动
bash 复制代码
docker start 容器id/名字
  • 更新容器
bash 复制代码
docker update 容器id/名字 --restart=always
  • 进入容器内部的系统
bash 复制代码
docker exec -it 容器id /bin/bash
  • 提交改变(将自己修改好的镜像提交)
bash 复制代码
docker commit -a "名字" -m "备注" 容器id 新名字:版本
docker commit -a "gmy" -m "备份" d28680903dcb nginxbak:v1.0
  • 查看日志(排错)
bash 复制代码
docker logs 容器名/id  
  • 把容器指定位置的文件复制到主机指定位置
bash 复制代码
docker cp 容器id:路径/文件名 主机路径/文件名
  • 把主机指定位置的文件复制到容器指定位置
bash 复制代码
docker cp 主机路径/文件名 容器id:路径/文件名 
  • 镜像传输(把镜像压缩,用u盘或者scp传到其他服务器)
bash 复制代码
#将镜像保存成压缩包
docker save -o abc.tar nginxbak:v1.0
#在别的机器加载这个镜像
docker load -i abc.tar

四、实战:安装redis

4.1 docker 拉取镜像

bash 复制代码
docker pull redis

4.2 Docker挂载配置文件

1)挂载 redis 的配置文件

2)挂载 redis 的持久化文件(为了数据的持久化)。

本人的配置文件是放在:

  • liunx下redis.conf文件位置:/home/redis/myredis/redis.conf
  • liunx下redis的data文件位置 : /home/redis/myredis/data

4.3 启动redis容器

bash 复制代码
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /home/redis/myredis/myredis.conf:/etc/redis/redis.conf -v /home/redis/myredis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass qwer1234

(1)--restart=always 总是开机启动

(2)--log是日志方面的

(3)-p 6379:6379 将6379端口挂载出去

(4)--name 给这个容器取一个名字

(5)-v 数据卷挂载

  • /home/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
  • /home/redis/myredis/data:/data 这个同上

(6)-d redis 表示后台启动redis

(7)redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf

(8)--appendonly yes 开启redis 持久化

(9)--requirepass 000415 设置密码

相关推荐
NiNg_1_23432 分钟前
使用Docker Compose一键部署
运维·docker·容器
萠哥啥都行37 分钟前
Linux安装Docker以及Docker入门操作
运维·docker·容器
王哲晓37 分钟前
Linux通过yum安装Docker
java·linux·docker
汀、人工智能1 小时前
修改Docker默认存储路径,解决系统盘占用90%+问题(修改docker root dir)
docker·容器
吃面不喝汤662 小时前
如何配置和使用自己的私有 Docker Registry
运维·docker·容器
Leighteen2 小时前
Docker常用命令
docker·容器
丶21362 小时前
【Nginx】在 Docker 上安装 Nginx 的详细指南
运维·nginx·docker
codelife3213 小时前
在Docker容器中执行命令
容器
petaexpress3 小时前
常用的k8s容器网络模式有哪些?
网络·容器·kubernetes
m0_741768859 小时前
使用docker的小例子
运维·docker·容器