27.Docker的安装和使用
文章目录
官方脚本自动安装
操作系统CentOS 7.x最新版本,Linux内核版本必须是3.10以上
yum -y update
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
## 如果是arm,建议从 https://download.docker.com/linux/static/stable/aarch64/ 下载静态文件,同时安装 yum install containerd
#开机启动docker
systemctl start docker
systemctl enable docker
版本校验
docker version
修改镜像地址(非必需,国内加速)
修改 /etc/docker/daemon.json
文件,如果没有就创建
文件内容如下:
{
"registry-mirrors": ["https://xuachqgw.mirror.aliyuncs.com"],
"insecure-registries": ["10.98.239.102:5000"],
"bip":"172.17.0.1/16",
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver":"json-file",
"log-opts":{"max-size":"10m"}
}
注意:如果k8s的coredns出现No such device or address
错误,去掉native.cgroupdriver=systemd
参考:https://github.com/kubernetes/kubernetes/issues/98006
阿里云的地址可以到阿里云开发者中心自己申请
https://xuachqgw.mirror.aliyuncs.com
下载redis镜像
https://hub.docker.com 中搜索 redis 镜像
打开redis镜像页面https://hub.docker.com/_/redis
docker pull redis:7.2.4
7.2.4
是标签,不带标签默认是latest
最新版本,执行之后镜像文件就下载到docker本地了
查看镜像
-
查看所有镜像,重点关注IMAGE ID,后面操作都会用到
docker image ls -a
-
只查看redis镜像,重点关注IMAGE ID,后面操作都会用到
docker images redis
-
查看所有的容器和镜像状态
docker ps -a
安装redis镜像
docker run -d --name myredis --restart=always -p 6379:6379 -v $PWD/data:/data redis:4.0 redis-server --appendonly yes
另一种方式,指定配置文件,完全控制,更加灵活,建议使用
docker run -d --name myredis --restart=always -p 6379:6379 -v /redis/6379/redis.conf:/usr/local/etc/redis/redis.conf redis:4.0 redis-server /usr/local/etc/redis/redis.conf
命令说明:
-d
:后台运行--name myredis
:容器的名称,可忽略-m 1g
:容器运行的最大内存,可忽略--privileged=true
:特权模式,容器具有最大权限,可忽略--network
代替--link
,用于多个容器网络联通.network需要先创建,然后使用,例如:
docker network create -d bridge --subnet=192.168.0.0/24
--gateway=192.168.0.100 --ip-range=192.168.0.0/24 my-docker-network
docker run --network=my-docker-network --ip=192.168.0.5 -itd --restart=always
是一直尝试重启.实现开机重启容器,--restart=on-failure:10
默认重启10次
-
-p 6379:6379
:将主机的6379端口映射到容器的6379端口,redis容器默认就是6379,第一个是主机端口 -
-v $PWD/data:/data
:将主机中当前目录下的data挂载到容器的/data,可以同时使用多个 -v 参数
另一种方式:-v /redis/6379/redis.conf:/usr/local/etc/redis/redis.conf
指定配置文件redis-server --appendonly yes
:在容器执行redis-server启动命令,并打开redis持久化配置
常用命令
通过Image镜像产生容器,一个镜像可以产生多个容器实例.image镜像雷同软件一键安装包,例如redis的一键安装包
执行了run命令,会自动启动,这里是单独启动
启动容器:docker start 539ffc1ce3b3
关闭容器:docker stop 539ffc1ce3b3
更新容器配置 例如设置开机重启:
docker update --restart=always xxx
删除镜像:docker rmi 镜像Id
删除镜像前需要停止引用的镜像的容器.
删除容器:docker rm 容器Id
跟踪日志输出:docker logs -f 容器Id
建议大家看一些docker常用命令的文章.
执行容器内命令
# docker exec -it 容器Id 命令
# 例如执行redis的 redis-cli命令:
docker exec -it 539ffc1ce3b3 redis-cli
# 或者执行容器内shell原始命令
docker exec -it 539ffc1ce3b3 /bin/bash
文章作者 springrain
上次更新 2024-04-10