Docker使用

Docker

1.卸载旧版

首先把旧版本docker卸载

yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

2.配置仓库

yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#如果上面命令提示网络不可达使用下方阿里云的镜像
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.安装

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

4.启动

# 启动Docker
systemctl start docker

# 停止Docker
systemctl stop docker

# 重启
systemctl restart docker

# 设置开机自启
systemctl enable docker

# 执行docker ps命令,如果不报错,说明安装启动成功

5.换源

修改/etc/docker/daemon.json文件
该文件用于配置项目参数 默认是不存在的 需要自己创建

vi /etc/docker/daemon.json

导入镜像仓库

Docker 官方中国区:https://registry.docker-cn.com
网易:http://hub-mirror.c.163.com
中国科技大学:https://docker.mirrors.ustc.edu.cn
阿里云:https://pee6w651.mirror.aliyuncs.com

"registry-mirrors":["https://pee6w651.mirror.aliyuncs.com"]
在这里插入图片描述
保存 后关闭

最后 重启即可

systemctl daemon-reload 
systemctl restart docker

6.Docker常用命令总结

1. 帮助启动类命令

(1)启动docker

systemctl start docker

(2)停止docker

systemctl stop docker

(3)重启docker

systemctl restart docker

(4)查看docker

systemctl status docker

(5)设置开机自启

systemctl enable docker

(6)查看docker概要信息

docker info

(7)查看docker总体帮助文档

docker --help

(8)查看docker命令帮助文档
docker 命令 --help

example:
docker run --help

2. 镜像命令

(1)列出本地主机上有的镜像 docker images

docker images [OPTIONS]

常用参数:
-a :列出所有的镜像 (含历史映像层)
-q :只显示镜像ID

example:
docker images -a
docker images -q
docker images -aq
docker images redis   #查找镜像名为redis的镜像
docker images redis:6.0.8   #查找镜像名:版本号(REPOSITORY:TAG)对应的镜像

字段解析:

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签版本号
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小
(2) 去配置的镜像网站库找寻找某个镜像 docker search

docker search [OPTIONS] 镜像名字

常用参数:
–limit nu #只输出查到的前nu条记录

示例:
docker search redis
docker search --limit 3 redis
docker search redis --limit 3    # 放在镜像名称前面后面均可

字段解析:

  • NAME:镜像名称

  • DISCRIPTION:镜像说明

  • STARTS:点赞数

  • OFFICAL:是否是官方认可的

  • AUTOMATED:是否自动构建

(3)从远程库拉取镜像 docker pull

docker pull 镜像名字[:TAG]

(4)查看镜像/容器/数据卷所占的空间 docker system df

docker system df

(5)删除本地有的镜像 docker rmi
#删除单个
docker rmi 镜像ID  #删除镜像,如果此时镜像上面有容器正在运行,会报错无法删除
docker rmi  -f 镜像ID   #强制(forced)删除镜像


#删除多个
docker rmi -f 镜像名1:TAG 镜像名2:TAG 

#删除全部(慎用)
docker rmi -f $(docker images -qa)  
#首先docker images -qa会列举本地所有的镜像的ID,然后作为一个集合送入rmi一个个删除
(6)创建新的镜像 docker commit

Docker中的镜像分层,支持通过扩展现有镜像,创建新的镜像。我们进行扩展后提交到本地成为一个新的镜像

docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]

#示例
docker pull elasticsearch  # 从镜像仓库拉取基础elasticsearch,修改后

#安装完成后,commit我们自己的新镜像
docker commit -m="elasticsearch-my" -a="aurther" 54dcfc29a430 elasticsearch:7.8.0
(7) 通过Dcokerfile构建镜像 docker build
docker build -t 新镜像名字:TAG .  # 注意 TAG后面有个空格,有个点
#示例
docker build -t elasticsearch-my:1.1 . 

3.容器命令

(1)新建启动容器 docker run
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用参数:
--name=NAME   #为容器指定名字为NAME,不使用的话系统自动为容器命名
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);

-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
也即启动交互式容器(前台有伪终端,等待交互,一般连用,即-it);

-P: 随机端口映射,大写P
-p: 指定端口映射,小写p
(2)docker ps
docker ps [OPTIONS]
常用参数:
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n num:显示最近num个创建的容器。
-q :静默模式,只显示容器编号。
(3)退出容器
exit

run进去容器,exit 退出,容器停止

ctrl+p+q

run进去容器,ctrl+p+q 退出,容器不停止

(4)进入正在运行的容器并以命令行交互
docker exec -it 容器ID/容器名称 bashShell
docker attach 容器ID
#示例
 
#容器ID
docker exec -it 54dcfc29a430 /bin/bash
docker attach 54dcfc29a430
 
#容器名称
docker exec -it es /bin/bash
docker attach es

区别

exec 是在容器中打开新的终端,并且可以启动新的进程。用exit退出,不会导致容器的停止。

attach 直接进入容器启动命令的终端,不会启动新的进程。用exit退出,会导致容器的停止。

! 推荐使用 docker exec 命令,因为退出容器终端,不会导致容器的停止。

(5)启动已停止运行的容器 docker start

docker start 容器ID或者容器名

(6)重启容器 docker restart

docker restart 容器ID或者容器名

(7)停止容器 docker stop

docker stop 容器ID或者容器名

(8)强制停止容器 docker kill

docker kill 容器ID或容器名

(9)删除已停止的容器 docker rm
#删除一个
docker rm 容器ID  
docker rm -f 容器ID  #强制删除
 
#删除多个
docker rm -f $(docker ps -a -q)docker ps -a -q | xargs docker rm
(10)查看容器日志 docker logs
docker logs 容器ID
(11)查看容器内运行的进程 docker top
docker top 容器ID
(12)查看容器资源占用情况 docker stats

显示容器资源的使用情况,包括:CPU、内存、网络 I/O 等。

docker stats [OPTIONS] [CONTAINER...]
 
OPTIONS:
--all , -a :显示所有的容器,包括未运行的。
--format :指定返回值的模板文件。
--no-stream :展示当前状态就直接退出了,不再实时更新。
--no-trunc :不截断输出。
 
#示例
docker stats
docker stats es  # 容器名
docker stats 54dcfc29a430  # 容器ID
(13)保存成 tar 包 docker save

docker save 命令用于将 Docker镜像 保存成 tar 包。

docker save [OPTIONS] IMAGE [IMAGE...]
docker save 镜像名:版本号 -o 打包压缩存放位置

OPTIONS:
docker save -o, --output	将归档文件输出到的文件。

example:
docker save 54dcfc29a430 -o es_my.tar  //打包到当前目录下
(14)导入docker load

docker load 命令用于从 tar 归档文件或者标准输入流载入镜像。docker load 命令的相对应的命令为 docker save。

docker load [OPTIONS]

OPTIONS:
-i	指定导出的文件。
-q	精简输出信息。

docker load -i es_my.tar  // 将归档的镜像文件,载入到镜像。

4.docker网络命令

(1)查看网络 docker network ls
docker network ls
(2)创建网络 docker network create
docker network create xxx网络名字
(3)查看网络源数据 docker network inspect
docker network inspect  XXX网络名字
(4)删除网络 docker network rm
docker network rm XXX网络名字

5.Docker-compose容器编排命令

docker-compose -h                      # 查看帮助
docker-compose up                      # 启动所有docker-compose服务
docker-compose up -d                   # 启动所有docker-compose服务并后台运行
docker-compose down                    # 停止并删除容器、网络、卷、镜像。
docker-compose exec  yml里面的服务id          # 进入容器实例内部  
docker-compose exec docker-compose.yml文件中写的服务id /bin/bash
docker-compose ps                      # 展示当前docker-compose编排过的运行的所有容器
docker-compose top                     # 展示当前docker-compose编排过的容器进程
 
docker-compose logs  yml里面的服务id    # 查看容器输出日志
docker-compose config     # 检查配置
docker-compose config -q  # 检查配置,有问题才有输出
docker-compose restart   # 重启服务
docker-compose start     # 启动服务
docker-compose stop      # 停止服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

把雨写在诗尾

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

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

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

打赏作者

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

抵扣说明:

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

余额充值