Docker安装以及相关命令

本文详细介绍了如何在CentOS上卸载旧版Docker,安装最新版Docker,设置yum仓库,更新缓存,并提供了启动、停止、管理容器及镜像的一系列命令。此外,还涵盖了容器的创建、启动、日志查看、进程检查、文件拷贝等操作。
摘要由CSDN通过智能技术生成

内容整理自:https://www.bilibili.com/video/BV1og4y1q7M4?p=16

卸载Docker

假如已经有docker,可通过执行如下指令卸载Docker(一般只针对于线上安装情况),例如:

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

安装一组工具

sudo yum install -y yum-utils 

设置 yum 仓库地址

sudo yum-config-manager
–add-repo
https://download.docker.com/linux/centos/docker-ce.repo

阿里云:

sudo yum-config-manager \
     --add-repo \
     http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 缓存

sudo yum makecache fast

安装新版 docker

sudo yum install -y docker-ce docker-ce-cli containerd.io

· 启动docker 境像 systemctl start docker
· 查看docker版本 docker version
· 查看系统内核 uname -r
· 查看docker镜像 docker images
在这里插入图片描述

Docker的常用命令

帮助命令

docker version      # 显示docker的版本信息
docker info         # 显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help   # 帮助命令

帮助文档的地址:https://docs.docker.com/reference/

镜像命令

docker images 查看所有本地主机上的镜像

可选项

-a, --all      # 列出所有的镜像
	-q, --quiet    # 只显示镜像的id
	docker search 搜索镜像
    docker pull 下载镜像

指定版本下载

 docker pull mysql:5.7

docker rmi 删除镜像

 docker rmi -f 容器id                # 删除指定的容器
 docker rmi -f  容器id 容器id 容器id  # 删除多个容器
 docker rmi -f $(docker images -aq) # 删除全部容器

新建容器并启动

docker run [可选参数] image
# 参数说明
--name = "Name"    容器名字  tomcat01,tomcat02,用来区分容器
-d                 后台方式运行
-it                使用交互方式运行,进入容器查看区分
-p                 指定容器的端口 -p 80808080
    -p ip:主机端口:容器端口
    -p 主机端口:容器端口(常用)
    -p 容器端口
    容器端口
-p                 随机指定端口

# 测试,启动并进入容器
docker run -it centos /bin/bash

列出所有的运行的容器

#docker ps 命令
	       # 列出当前正在运行的容器
	-a    # 列出当前正在运行的容器+带出历史运行过的容器
  -n=?  # 显示最近创建的容器
  -q     # 只显示容器的编号

退出容器

exit            # 直接容器停止并退出
Ctrl + P + Q    # 容器不停止退出

删除容器

docker rm 容器id                  # 删除指定容器,不能删除正在运行的容器,如果要强制删除 rm -f
docker rm -f $(docker ps -aq)    # 删除所有的容器
docker ps -aq|xargs docker rm    # 删除所有的容器

启动和停止容器的操作

docker start 容器id        # 启动容器
docker restart 容器id      # 重启容器
docker stop 容器id         # 停止当前正在运行的容器
docker kill 容器id         # 强制停止当前容器

后台启动容器

命令 docker run -d 镜像名
docker run -d centos
问题docker ps, 发现 centos 停止了
常见的坑, docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
#nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了

查看日志

docker logs -f -t --tail 容器,没有日志

自己编写一段shell脚本
[root@AlibabaECS /]# docker run -d centos /bin/sh -c "while true;do echo kuangshen;sleep 1;done"
 显示日志
-tf                # 显示日志
--tail number      # 要显示的日志条数
 docker logs -tf --tail 10 f1178d5b0bd8

查看容器中的进程信息ps

 命令 docker top 容器id

查看镜像元数据

docker inspect 容器id(f1178d5b0bd8) 

进入当前正在运行的容器

# 我们通常都是使用后台方式运行的,需要进入容器,修改一些配置

# 命令
docker exec -it 容器id baseShell

# 测试
[root@AlibabaECS ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
f1178d5b0bd8        centos              "/bin/sh -c 'while t…"   2 hours ago         Up 2 hours                              stupefied_colden
[root@AlibabaECS ~]# docker exec -it f1178d5b0bd8 /bin/bash
# 方式二
docker attach 容器id

# 测试
[root@AlibabaECS ~]# docker attach f1178d5b0bd8
正在执行当前的代码...

# docker exec        # 进入容器后开启一个新的终端,可以在里面操作(常用)
# docker attach      # 进入容器正在执行的终端,不会启动新的进程

从容器内拷贝到主机上

# 命令
docker cp [r] 容器id :容器内路径 目的地主机路径
# 参数r : 递归拷贝
# 测试
[root@AlibabaECS home]# docker cp a485a9d900b4:/home/test.java /home
# -d       后台运行
# --name   给容器命名
# -p       宿主机端口:容器内部端口
docker run -d --name nginx01 -p 3344:80 nginx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值