你以为的docker有多难,学会这些组内横着走

一、CentOS安装docker

docker官网
1)yum安装gcc相关:

yum -y install gcc
yum -y install gcc-c++

2)安装软件包:

yum install -y yum-utils
	yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3)更新yum软件包索引:

yum makecache fast

4)安装Docker CE:

yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

5) 启动docker:

systemctl start docker

6) 阿里云镜像加速器配置:
在这里插入图片描述
在这里插入图片描述

二、启动帮助类命令

  • 启动docker:systemctl start docker
  • 停止docker:systemctl stop docker
  • 重启docker:systemctl restart docker
  • 查看docker状态:systemctl status docker
  • 开机启动:systemctl enable docker
  • 查看docker概要信息:docker info
  • 查看docker总体帮助文档:docker --help
  • 查看docker命令帮助文档:docker具体命令 --help

三、镜像命令

1.名词概念

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签版本号
  • IMAGE ID:镜像ID
  • CREATED:镜像创建的时间
  • SIZE:镜像大小

2.常用命令

2.1 镜像命令

  • 列出本地所有镜像:
docker images
REPOSITORY   TAG           IMAGE ID       CREATED         SIZE
redis        6.2.11        6fce9af058e8   2 weeks ago     113MB
mysql        8.0           3218b38490ce   15 months ago   516MB
registry     latest        b8604a3fe854   16 months ago   26.2MB
ubuntu       latest        ba6acccedd29   17 months ago   72.8MB
tomcat       8.0.15-jre7   8384f49437b3   8 years ago     355MB

  • 只显示镜像ID:
docker images -q

6fce9af058e8
3218b38490ce
b8604a3fe854
ba6acccedd29
8384f49437b3
  • 在远程库搜索镜像:docker search 镜像名称
docker search redis
NAME                                DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
redis                               Redis is an open source key-value store that…   11926     [OK]
redislabs/redisearch                Redis With the RedisSearch module pre-loaded…   56
redislabs/redisinsight              RedisInsight - The GUI for Redis                81
redislabs/rebloom                   A probablistic datatypes module for Redis       22                   [OK]
redislabs/redis                     Clustered in-memory database engine compatib…   36
redislabs/rejson                    RedisJSON - Enhanced JSON data type processi…   53
redislabs/redisgraph                A graph database module for Redis               26                   [OK]
redislabs/redismod                  An automated build of redismod - latest Redi…   33                   [OK]
redis/redis-stack                   redis-stack installs a Redis server with add…   41
redislabs/redistimeseries           A time series database module for Redis         12
redis/redis-stack-server            redis-stack-server installs a Redis server w…   21

  • 拉取镜像:docker pull 镜像名称
docker pull redis:6.0
  • 在远程库查询前n条镜像:docker search --limit n 镜像名称
docker search --limit 5 redis
  • 删除镜像:docker rmi 镜像名称(镜像ID)
docker rmi redis:6.0
docker rmi 6fce9af058e8
  • 强制删除镜像:docker rmi -f 镜像ID
docker rmi -f 6fce9af058e8
  • 删除全部镜像(慎重):docker rmi -f $(docker images -qa)
docker rmi -f $(docker images -qa)

docker虚悬镜像:仓库名、标签都是none的镜像,俗称虚悬镜像dangling inamge

2.2 容器命令

2.2.1:常用参数

–name=“容器新名字” 为容器指定一个名称
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行)
-i: 以交互模式运行容器,通常与-t同时使用
-t: 为容器重新分配一个伪输入终端,通常与-i同时使用
-P: 随机端口映射,大写P
-p: 指定端口映射,小写p
退出 exit

2.2.2:常用指令
  • 新建并启动容器:
交互式容器:
docker run -it --name=myu1 ubuntu  /bin/bash
守护式容器:
docker run -d redis
  • 列出当前所有正在运行的容器:
docker ps
  • 退出容器:
exit
ctrl+p+q
两者区别:exit容器停止,ctrl+p+q容器不停止
  • 启动已经停止的容器:docker start 容器ID或容器名
docker start redis
  • 重启容器:docker restart 容器ID或容器名
docker restart redis
  • 停止容器:
docker stop redis
  • 强制停止容器:
docker kill redis
  • 删除已经停止的容器:docker rm 容器ID或容器名
docker rm redis
  • 查看容器日志:docker logs 容器ID
docker logs c632a8676b73 
  • 查看容器内运行进程:docker top 容器ID
docker top c632a8676b73
  • 查看容器内部细节:docker inspect 容器ID
docker inspect c632a8676b73
  • 进入正在运行的容器并以命令行交互:
docker exec -it c632a8676b73 /bin/bash
docker attach c632a8676b73
两者区别:attach直接进入容器启动命令终端,不会启动新的进程,用exit退出,会导致容器停止。 exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器停止
  • 从容器内拷贝文件到主机上:docker cp 容器ID:容器内路径 目的主机路径
docker cp f400fb93b8da:/tmp/a.txt /root
  • 导入和导出容器:
docker export 容器ID > name.tar
cat name.tar | docker import - 镜像用户/镜像名:镜像版本号
  • 搭建docker本地库
docker pull registry
vim /etc/docker/daemon.json

{ 
  "insecure-registries": ["192.168.80.10:5000"], #添加此段,“,”不可少,ip是本机IP地址
  "registry-mirrors": ["https://ox6a5bka.mirror.aliyuncs.com"]
}

systemctl daemon-reload
systemctl restart docker.service
docker create -it registry /bin/bash
docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry
'//-p指定端口,一内一外;-v表示挂载,前者是宿主机,后者是容器'
 
  • commit命令生成新的镜像:
docker commit -m="安装了vim" -a="zhang" f400fb93b8da vimubuntu
  • 将镜像推到本地库:
curl -XGET http://xxx.xxx.xx.xx:5000/v2/_catalog
docker pull xxx.xxx.xx.xx:5000/ipconfigubuntu:1.2
  • 容器数据卷:
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名
docker run -it --privileged=true -v /www/local_data:/tmp/docker_data:rw(ro) --name=u1 ubuntu  读写或只读

2.3 安装单机mysql、redis

docker pull mysql:8.0
docker run -d -p 3306:3306 --privileged=true -v /www/mysql/log:/var/log/mysql -v /www/mysql/data:/var/lib/mysql -v /www/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=Zhang0727 --name mysql8 mysql:8.0.15
docker pull redis:6.0
docker run -p 6379:6379 --name=redis6 --privileged=true -v /www/redis/redis.conf:/etc/redis/redis.conf -v /www/redis/data:/data -d redis:6.2.11 redis-server /etc/redis/redis.conf

原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下

👍 点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IDEA上的操作工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值