Docker基本命令管理

docker的安装

配置阿里云Docker Yum源
yum install -y yum-utils device-mapper-persistent-data lvm2 git
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装指定版本
yum install docker-ce-18.03.0.ce -y

基本命令的使用

服务器启动
systemctl start docker
systemctl enable docker

查看版本

[root@node2 docker]# docker -v
Docker version 18.03.0-ce, build 0520e24

[root@node2 docker]# docker version
Client:
Version: 18.03.0-ce
API version: 1.37
Go version: go1.9.4
Git commit: 0520e24
Built: Wed Mar 21 23:09:15 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.03.0-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.4
Git commit: 0520e24
Built: Wed Mar 21 23:13:03 2018
OS/Arch: linux/amd64
Experimental: false

查看docker运行状态:*
*# docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0

简单测试
运行一个容器
[root@node2 ~]# docker run -it --name centos1 daocloud.io/library/centos /bin/bash
[root@67396b581f9e /]#

镜像管理

搜索镜像:
这种方法只能用于官方镜像库
搜索基于 centos 操作系统的镜像
docer search centos

按星级搜索镜像:
查找 star 数至少为 100 的镜像,默认不加 s 选项找出所有相关 ubuntu 镜像:
#docker search ubuntu -f stars=100

拉取镜像:
#dokcer pull centos

查看本地镜像:
#docker image list

查看镜像详情:
#docer image inspect 镜像id

删除镜像:
删除一个或多个,多个可以用空格隔开
#[root@node2 ~]# docker rmi daocloud.io/library/centos:7
Untagged: daocloud.io/library/centos:7
Untagged: daocloud.io/library/centos@sha256:c2f1d5a9c0a81350fa0ad7e1eee99e379d75fe53823d44b5469eb2eb6092c941
Deleted: sha256:b5b4d78bc90ccd15806443fb881e35b5ddba924e2f475c1071a38a3094c3081d
Deleted: sha256:edf3aa290fb3c255a84fe836109093fbfeef65c08544f655fad8d6afb53868ba

强制删除: --force
如果镜像正在被使用中可以使用–force强制删除
#docker rmi docker.io/ubuntu:latest --force

删除所有镜像:
#docer rmi $(docer images -q)

只查看所有镜像的id
# docker images -q

查看镜像制作的所有过程:
docer history daocloud.io/ubuntu

容器管理

创建运行新容器但不启动:
同一个镜像可以启动多个容器,每次执行run子命令都会运行一个全新的容器
#docker run -it --restart=always centos:7 /bin/bash
如果执行成功,说明centos容器已经启动,并且应该已经得到bash提示符。

 当 后面加 restart=always
 容器随docker engine自启动,因为在重启docker的时候默认重启都会被关闭
 也适用于create选项
 
 若要断开与容器的连接,并且关闭容器:

容器内部执行如下命令
[root@d33c4e8c51f8 /]#exit

如果只想断开和容器的连接而不关闭容器:
快捷键:ctrl+p+q

查看容器:
只查看运行状态的容器
#docker ps

docker ps -a
-a 查看所有容器

只查看所有容器id:
# docker ps -a -q


列出最近一次启动的容器
# docker ps -l   

查看容器详细信息:
inspect Return low-level information on a container or image
用于查看容器的配置信息,包含容器名、环境变量、运行命令、主机配置、网络配置和数据卷配置等。

目标:
查找某个运行中容器的id,然后使用docker命令查看容器的信息。
[root@master ~]# docker inspect d95 //d95是我机器上运行的一个容器ID的前3个字符
[
{
“Id”: “d95a220a498e352cbfbc098c949fc528dbf5a5c911710b108ea3a9b4aa3a4761”,
“Created”: “2017-07-08T03:59:16.18225183Z”,
“Path”: “bash”,
“Args”: [],
“State”: {
“Status”: “exited”,
“Running”: false,
“Paused”: false,
“Restarting”: false,
“OOMKilled”: false,
“Dead”: false,
“Pid”: 0,

容器信息很多,这里只粘贴了一部分

docker inspect --format=’{{.NetworkSettings.IPAddress}}’ 容器id
[root@node2 ~]# docker inspect --format=’{{.NetworkSettings.IPAddress}}’ mysql1
172.17.0.4

启动容器:
docker start name

关闭容器:
docker stop name

docker kill name --强制终止容器

关闭所有running状态的容器
docker kill $(docker ps -q)

stop和kill的区别:
docker stop命令给容器中的进程发送SIGTERM信号,默认行为是会导致容器退出,当然,容器内程序可以捕获该信号并自行处理,例如可以选择忽略。而docker kill则是给容器的进程发送SIGKILL信号,该信号将会使容器必然退出。

删除容器:
docker rm 容器id或名称
要删除一个运行中的容器,添加 -f 参数

根据格式删除所有容器:
docker rm $(docer ps -qf status=exited)

重启容器:
docker restart name

暂停容器
pause —暂停容器内的所有进程,
通过docker stats可以观察到此时的资源使用情况是固定不变的,通过docker logs -f也观察不到日志的进一步输出。

恢复容器:
unpause --恢复容器内暂停的进程,与pause参数相对应

让容器运行在后台:
如果在docker run后面追加-d=true或者-d,那么容器将会运行在后台模式。此时所有I/O数据只能通过网络资源或者共享卷组来进行交互。因为容器不再监听你执行docker run的这个终端命令行窗口。但你可以通过执行
docker attach来重新附着到该容器的回话中。注意,容器运行在后台模式下,是不能使用–rm选项的

docker run -it -d --name mytest docker.io/centos:7 /bin/sh -c “while true; do echo hello world; sleep 2; done”
37738fe3d6f9ef26152cb25018df9528a89e7a07355493020e72f147a291cd17

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值