Docker之容器篇
Docker之容器篇
容器是基于镜像建立的可读写层,包含了基本的系统环境和文件系统,这章开始学习容器的创建、删除、迁移、管理等
创建容器
# 创建容器,新创建的容器处于停止状态
docker create -it ubuntu
# 通过docker start ID/name启动容器
docker start 1246c55dfffc
# 通过docker ps 查看运行的容器
docker ps
# 第二种方法,通过docker run创建并启动容器,相当于使用docker create + docker start ,一般采用docker run创建虚拟机
# 创建一个容器并输出内容,然后容器停止
docker run ubuntu /bin/echo "Hello,world"
# 创建交互模式的容器,-t 创建一个伪终端并绑定到容器中, -i使终端保持输入,程序/bin/bash,即创建一个ubuntu容器而且可以运行命令
docker run -it ubuntu /bin/bash
# 在容器内可以使用基本的命令工具,如ls、ps等,无其他应用程序,使用exit退出容器,容器退出后即停止
# 创建守护进程运行的容器,使用-d选项容器后台以守护进程运行
# -d 参数以守护进程运行容器,退出容器也不会停止,--name 容器名称 ,-it 开启一个伪终端,使用镜像ubuntu
docker run -d --name ubuntu -it ubuntu
# 使用docker logs CONTAINER 获取容器内的输出信息
docker exec -it ubuntu /bin/bash
常用的命令参数
参数 | 用法 |
---|---|
-i | 交互式运行 |
-t | 分配绑定伪终端 |
-d | 以守护进程后台运行 |
-e | 添加环境变量 |
-p(小写)容器:主机 | 映射容器端口到宿主机 |
-P(大写) | 映射容器所有expose端口到主机随机端口 |
--name | 指定容器名称 |
-h | 指定容器主机名称 |
-ip | 指定容器的ip地址,只能用于自定义网络 |
-network | 指定容器连接到一个指定的网络 |
-v(主机:容器) | 挂载主机目录到容器内,实现同步 |
-restart | 指定容器退出时的重启策略,默认为no |
停止容器
# 通过docker stop 容器名称/ID来停止容器
docker stop ubuntu
# docker restart 重启容器
docker restart ubuntu
进入容器内部
如果启动-d参数以守护进程方式运行容器,容器会进入后台运行,有时候我们需要进入容器操作就需要使用其它工具。
使用docker exec 进入容器
# 通过docker exec ,进入刚才创建的容器并运行一个shell程序
docker exec -it ubuntu /bin/bash
删除容器
# 使用docker rm
docker rm ubuntu
# 删除运行中的程序需要添加 -f参数
docker rm -f ubuntu
···
## 容器的导出与导入
```linux
# 将容器导出为本地存储文件进行迁移或者备份
# 使用 docker export 容器名称/ID ,后面接文件名称自定义
docker export ubuntu > ubuntu.tar
# 从本地文件导入一个容器快照,似乎导入的是一个镜像
cat ubuntu.tar | docker import - test/ubuntu
这次学习了关于容器的创建、启动、停止、迁移等知识。
点点滴滴,积少成多,终有一日能发挥用处。