服务启动
启动 docker 服务
systemctl start docker
守护进程重启
sudo systemctl daemon-reload
重启docker服务
systemctl restart docker
重启docker服务
sudo service docker restart
关闭docker
service docker stop
关闭docker
systemctl stop docker
容器相关操作
查看运行容器
docker ps
查看所有容器
docker ps -a
进入容器
docker exec -it d27bd3008ad9 /bin/bash
停用全部运行中的容器
docker stop $(docker ps -q)
删除全部容器
docker rm $(docker ps -aq)
一条命令实现停用并删除容器
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
清理所有处于终止状态的容器
docker container prune
以交互模式打开容器
docker run -it ubuntu:18.04 /bin/bash
-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入 上,
-i 则让容器的标准输入保持打开
后台运行
处于终止状态的容器,可以通过 docker container start 命令来重新启动
需要让 Docker 在后台运行而不是直接把执行命令的结果输出在当前 宿主机下。此时,可以通过添加 -d 参数来实现
docker run -d ubuntu:18.04 /bin/bash -c "while true; do echo hello world; sleep 1; done"
此时容器会在后台运行并不会把输出的结果 (STDOUT) 打印到宿主机上面(输出结 果可以用 docker logs 查看)。
容器是否会长久运行,是和 docker run 指定的命令有关,和 -d 参数无 关。
使用 -d 参数启动后会返回一个唯一的 id,也可以通过 docker container ls 命令来查看容器信
终止容器
可以使用 docker container stop 来终止一个运行中的容器。
终止状态的容器可以用 docker container ls -a 命令看到
处于终止状态的容器,可以通过 docker container start 命令来重新启动
docker containe restart 命令会将一个运行态的容器终止,然后再重 新启动它
进入容器
在使用 -d 参数时,容器启动后会进入后台
某些时候需要进入容器进行操作,包括使用 docker attach 命令或 docker exec 命令,推荐大家使用 docker exec 命令
attach
docker attach [id]
是 Docker 自带的命令 进入一个正在运行的容器中
exec
-i -t 参数
docker exec [参数]
只用 -i 参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux命令提示 符,但命令执行结果仍然可以返回。
当 -i -t 参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符
容器的导出和导入
导出
docker export [容器id] > ubuntu.tar
导入
cat ubuntu.tar | docker import - test/ubuntu:v1.0
此外,也可以通过指定 URL 或者某个目录来导入,例如
docker import http://example.com/exampleimage.tgz example/imagerepo
用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以 使用 docker import 来导入一个容器快照到本地镜像库。这两者的区别在于容 器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状 态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入 时可以重新指定标签等元数据信息
镜像推送
更新版本标签号
docker tag ubuntu:15.10 liulangdy/lldy:001
推送
docker push liulangdy/lldy:001
数据卷
docker volume ls
创建
docker volume create my-vol
查看
docker volume inspect my-vol