1 2 3 4 5 6 | docker run -i -t ubuntu /bin/bash 进入 bash -t 分配伪终端 -i 让容器标准输出保持打开 docker search mysql 搜索镜像 docker rmi ubuntu /id 根据标签或 id 删除镜像 docker rm e81 删除容器 docker attach 容器 id 或 docker attach 容器name 重新进入未关闭的容器 |
镜像
创建镜像三种方法
基于镜像容器创建
-a 作者信息
-m 提交消息
-p 提交时暂停容器
1 | docker commit -m "Add new File" -a "Docker NewBee" a984984 test 提交一个镜像 返回一个新容器 id test 为容器名 |
基于本地模板导入
1 | sudo cat ubuntu_16.04. tar .gz | docker import - ubuntu:16.04 |
基于DockerFile创建
1 2 | docker save -o ubuntu_16.04. tar ubuntu:16.04 存入镜像 docker load --input ubuntu_16.04. tar 载入镜像 |
上传镜像
容器
新建容器
1 2 3 4 | docker create -it ubuntu:latest 创建容器 docker ps -a 查看容器 ctrl + d 退出并关闭容器 ctrl + p +q 退出但不关闭容器 |
新建并启动容器
1 2 | docker run ubuntu /bin/echo 'hello world' 执行完后容器自动终止 docker run 等价于 docker run 再 docker start 命令 |
守护运行态
1 2 3 4 | -d 参数实现守护进程 docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1 ;done" docker ps 查看 docker logs ce5 查看容器输出信息 |
终止容器
1 2 3 4 | docker stop ce5 终止容器 docker ps -a -q 查看处于终止状态的容器ID信息 docker start ce5 启动终止的容器 docker restart ce5 重新启动正在运行的容器 |
进入容器
1 2 3 4 5 | docker run -idt ubuntu docker ps docker attach names 多个容器同时使用时,当一个窗口因命令阻塞时,其他窗口也无法操作 docker exec -ti id /bin/bash 使用-it时,类似console界面,不会像attach因为退出,导致整个容器退出 这种方式可以替代 ssh nenter nsinit 方式,在容器内进行操作 |
删除容器
1 2 3 4 | docker rm 删除处于终止状态的容器 -f 强制终止并删除 -l 删除容器的链接,但保留容器 - v 删除容器挂在的数据卷 |
杀死所有正在运行的容器
docker kill $(docker ps -a -q)
删除所有已经停止的容器
docker rm $(docker ps -a -q)
删除所有未打 dangling 标签的镜
docker rmi $(docker images -q -f dangling=true)
删除所有镜像
docker rmi $(docker images -q)
强制删除 无法删除的镜像
docker rmi -f <IMAGE_ID>
docker rmi -f $(docker images -q)
为这些命令创建别名
# ~/.bash_aliases
# 杀死所有正在运行的容器.
alias dockerkill='docker kill $(docker ps -a -q)'
# 删除所有已经停止的容器.
alias dockercleanc='docker rm $(docker ps -a -q)'
# 删除所有未打标签的镜像.
alias dockercleani='docker rmi $(docker images -q -f dangling=true)'
# 删除所有已经停止的容器和未打标签的镜像.
alias dockerclean='dockercleanc || true && dockercleani'
导入和导出容器
1 2 3 4 5 | docker export id >demo. tar cat demo. tar | sudo docker import - ubuntu:16.04 docker images docker load 于 docker import 都可以文件到镜像库,区别:load 保留完整记录,体积大, import 快照 导入时可以指定元数据信息 |
仓库
1 2 3 4 5 6 | docker run -p 5000:5000 registry docker images docker tag ubuntu:16.04 localhost:5000 /ubuntu :16.04 docker push localhost:5000 /ubuntu :16.04 curl curl http: //60 .205.215.243:5000 /v2/_catalog 查看上传的镜像 |
docker官方仓库用法