docker安装及基础命令使用
CentOS Docker 安装
使用官方安装脚本自动安装
安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
或者
curl -sSL https://get.daocloud.io/docker | sh
启动docker并让其开机自启动
systemctl start docker
systemctl enable docker.service
卸载旧版本
较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
卸载 docker
删除安装包:
yum remove docker-ce
删除镜像、容器、配置文件等内容:
rm -rf /var/lib/docker
Docker Hello World
输入命令:
docker run ubuntu:15.10 /bin/echo "Hello world"
docker run : 组合使用来运行一个容器
ubuntu:15.10 : 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
/bin/echo “Hello world” : 在启动的容器里执行的命令
以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo “Hello world”,然后输出结果。
进入容器
docker run -i -t ubuntu:15.10 /bin/bash
-
-t :在新容器内指定一个伪终端或终端。
-
-i :允许你对容器内的标准输入 (STDIN) 进行交互。
-
ubuntu: ubuntu 镜像。
-
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
退出容器
exit 或者 CTRL + D
启动容器(后台模式)
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
得到的是一串容器id
查看运行中容器
docker ps
docker ps -a #查看所有容器
**CONTAINER ID:** 容器 ID。
**IMAGE:** 使用的镜像。
**COMMAND:** 启动容器时运行的命令。
**CREATED:** 容器的创建时间。
**STATUS:** 容器状态。
状态有7种:
- created(已创建)
- restarting(重启中)
- running 或 Up(运行中)
- removing(迁移中)
- paused(暂停)
- exited(停止)
- dead(死亡)
**PORTS:** 容器的端口信息和使用的连接类型(tcp\udp)。
**NAMES:** 自动分配的容器名称。
查看日志
docker logs [CONTAINER ID] / [NAMES]
停止容器
docker stop [CONTAINER ID] / [NAMES]
停止后再次使用docker ps查看, 容器已经停止工作
启动已停止运行的容器
docker start [CONTAINER ID] / [NAMES]
后台运行
docker run -itd --name ubuntu-test ubuntu /bin/bash
–name 表示给容器自定义名称
**注:**加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec。
进入容器
-
docker attach
docker attach [CONTAINER ID] / [NAMES]
-
docker exec:推荐使用 docker exec 命令,退出容器终端时不会导致容器的停止。
docker exec -it [CONTAINER ID] / [NAMES] /bin/bash
删除容器
docker rm -f [CONTAINER ID] / [NAMES]
docker container prune #清理掉所有处于终止状态的容器
导出容器
docker export [CONTAINER ID] / [NAMES] > 文件名.tar
导入容器
cat docker/ubuntu.tar | docker import - test/ubuntu:v1
也可以通过指定 URL 或者某个目录来导入
docker import http://example.com/exampleimage.tgz example/imagerepo