CentOS Docker 安装

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
1、卸载旧版本
命令:yum remove -y docker docker-common docker-selinux dockerengine
2、设置仓库 REPOSITORY
命令:yum install -y yum-utils device-mapper-persistent-data lvm2
设置 docker 稳定的源
命令:yum-config-manager --add-repo \https://download.docker.com/linux/centos/docker-ce.repo
更新 yum 的安装索引
命令:yum makecache fast
3、安装 docker 版本
yum install -y docker-ce
4、启动 docker 服务
systemctl start docker.service
docker 服务开机自启动
systemctl enable docker.service
5、测试
[root@localhost redata]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。

常用Docker命令
镜像管理:
docker images:列出本地所有镜像
docker search <IMAGE_ID/NAME>:查找image
docker pull <IMAGE_ID>:下载image
docker push <IMAGE_ID>:上传image
docker rmi <IMAGE_ID>:删除image
容器管理:
docker run -i -t <IMAGE_ID> /bin/bash:-i:标准输入给容器 -t:分配一个虚拟终端 /bin/bash:执行bash脚本
-d:以守护进程方式运行(后台)
-P:默认匹配docker容器的5000端口号到宿主机的49153 to 65535端口
-p <HOT_PORT>:<CONTAINER_PORT>:指定端口号
- -name: 指定容器的名称
- -rm:退出时删除容器
docker stop:停止container
docker start:重新启动container
docker ps - Lists containers.
-l:显示最后启动的容器
-a:同时显示停止的容器,默认只显示启动状态
docker attach <CONTAINER_ID> 连接到启动的容器
docker logs <CONTAINER_ID> 输出容器日志
-f:实时输出
docker cp <CONTAINER_ID>:path hostpath:复制容器内的文件到宿主机目录上
docker rm:删除container
docker rm `docker ps -a -q`:删除所有容器
docker kill `docker ps -q`
docker rmi `docker images -q -a`
docker wait <CONTAINER_ID>:阻塞对容器的其他调用方法,直到容器停止后退出
docker top <CONTAINER_ID>:查看容器中运行的进程
docker diff:查看容器中的变化
docker inspect:查看容器详细信息(输出为Json)
-f:查找特定信息,如docker inspect{ .NetworkSettings.IPAddress }'
docker commit -m "comment" -a "author" <CONTAINER_ID>
docker extc -it <CONTAINER> <COMMAND>:在容器里执行命令,并输出结果