CentOS7.6 Docker 操作(二)

使用SmarTTY 连接CentOs7.6虚拟机

  1. 1
    2
    # 执行命令 ip address 查看虚拟机ip
    ip address

image-20220228112640475

1.
打开SmarTTY 新建ssh连接

image-20220228113208675

检查内核版本 是否高于3.10

1
2
3
uname -r	
# 如果低于3.10 可升级软件包及内核
yum update

image-20220228113505100

安装Docker

1
2
3
4
yum install docker

#输入 y 确认安装 出现提示 一直 y即可
y

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zkR9LDtq-1646039818923)(https://gitee.com/jhj159/my-typora-picgo/raw/master/my-typora-picgo/image-20220228114034604.png)]

启动Docker

1
2
3
4
# 启动docker
systemctl start docker
# 启动后查看版本
docker -v

image-20220228114342393

Docker 设置为开机启动

1
systemctl enable docker

image-20220228114649348

镜像加速

1
2
3
4
5
6
7
8
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://90iechnf.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker 常用命令

(所有的OPTIONS可以组合使用)

帮助命令

1
2
3
4
5
6
#查看docker 版本
docker version
#查看docker信息
docker info
#查看docker帮助
docker --help

镜像命令

1
2
# 查询所有容器
docker images [OPTIONS]

image-20220228142724339

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
OPTIONS说明:	 -a 列出本地所有的镜像
-q 只显示镜像ID
--digests 显示镜像的摘要信息
--no-trunc 显示完整的镜像信息
#举例:
docker images -a
docker images -q
docker images --digests
docker --no-trunc

#搜索镜像
docker search [OPTIONS] 镜像名字

OPTIONS说明: --no-trunc:显示完整的景象描述
-s:列出收藏数不小于指定值的镜像
--automated 只列出automated build 类型的镜像
#举例:
docker search tomcat
docker search --no-trunc tomcat
docker search -s 30 tomcat
docker search --automated tomcat

#下载镜像
docker pull 镜像名字 [:TAG]
#默认TAG为lateat

#举例:
docker pull tomcat

#删除镜像

#删除一个
docker rmi -f 镜像id

#举例:
docker rmi -f feb5d9fea6a5

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

#举例:
docker rmi -f hello-word:latest tomcat:latest

#删除所有镜像
docker rmi -f $(docker images -q)

容器命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
有镜像才能创建容器
#拉取进行
docker pull centos
#新建并启动容器
docker run [OPTIONS] IMAGE [COMMAND][ARG...]

OPTIONS说明(常用):
--name="容器新名字":为容器指定一个名称;
-d:后台运行容器 并返回容器ID,也就是启动守护式容器;
-i:以交互模式运行容器,通常与-t同时使用;
-t:为容器重新分配一个为输入终端,通常与-i同时使用;
-P:随机端口映射;
-p:指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort

举例:
docker run -it 5d0da3dc9764

#使用镜像centos:latest 以交互模式启动一个容器,在容器内执行/bin/bash
docker run -it centos /bin/bash

#列出所有正在运行的容器
docker ps[OPTIONS]

OPTIONS说明:
-a:列出当前所有正在运行的容器+历史上运行过的容器
-l:显示最近创建的容器
-n:显示最近n个创建的容器
-q:静默状态,只显示容器编号
--no-trunc:不截断输出

#停止容器
exit 容器停止退出
ctrl+P+Q 容器不停止退出
#启动容器
docker start 容器id/容器名
#重启容器
docker restart 容器id/容器名
#开机自动重启
docker update 容器id/容器名 --restart=always
#停止容器
docker stop 容器id/容器名
#强制停止容器
docker kill 容器id/容器名
#删除已停止容器
docker rm 容器id
#删除多个已停止容器
docker rmi -f $(docker ps -a -q)
#查看容器日志
docker logs -f -t --tail 容器id
-t:是加入时间戳
-f:跟随最新的日志打印
--tail 数字:显示最后多少条
#查看容器内运行的进程
docker top 容器id
#查看容器内部细节
docker inspect 容器id
#进入正在运行的容器并以命令行交互
docker exec -it baseShell 容器id:在容器内打开新的终端,并且可以启动新的进程
docker attach 容器id:直接进入容器启动命令的终端,不会启动新的进程
#从容器内拷贝文件到主机
docker cp 容器id:容器内路径 目的主机路径
#commit 提交镜像
docker commit -m="提交的描述信息" -a="作者" 容器id 要创建的目标镜像名:[标签名]
#命令用来显示容器使用的系统资源
docker stats