1. 创建容器
docker create -it repository:tag (此时容器创建好,但没启动。常用于启动容器前进行必要的配置。)
例如:docker create -it ubuntu:latest
docker ps -a # 可以查看到创建的docker容器
docker start ContainerID #启动一个容器
docker ps #可以查看到启动的容器。
-t选项让Docker分配一个伪终端并绑定到容器的标准输入上,-i则让容器的标准输入保持打开状态两者配合,允许用户进行交互。
新建并启动容器 :
启动容器有两种方式,一种是基于镜像新建一个容器并启动;另一种是将一个终止(stoped)的容器重新启动。需要的命令主要是docker run ,等价于docker creat 然后docker start.
当利用docker run来创建并启动容器时,Docker在后台的标准流程是:
1)检查本地是否有指定的镜像,如果没有就从公共仓库下载
2)利用镜像创建并启动一个容器
3)分配一个文件系统,并在只读的镜像层外挂载一个可读写层
4)从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中
5)从地址池配置一个IP地址给容器
6)执行用户指定的应用程序
7)执行完毕后容器被终止
使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest
使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data:
docker run -p 80:80 -v /data:/data -d nginx:latest
exit 命令 或者Ctrl+d 可以来退出容器。
守护态(Daemonized)运行: 通过-d参数来指定, 容器启动后会返回一个唯一的ID.
docker run -d ubuntu /bin/bash -c "while true;do echo hello world;sleep 1;done"
2.终止容器
通过docker stop 或者docker kill (这个是强行终止容器)
也可以在容器内exit 命令 或者Ctrl+d
可以用docker ps -a -q 查看处于终止状态的容器的ID
可以用docker start 命令重新启动容器。
docker restart 命令会终止一个正在运行的容器,再启动。
3.进入容器
1)docker attach 容器名字或ID
2)docker exec -ti 容器ID
docker exec -ti 248d /bin/bash
3)nsenter工具
查看启动容器的进程号:docker inspect --format "{{.State.Pid}}" <container>
4.删除容器:
docker rm 可以删除处于终止状态的容器
-f, --force=false 强行终止并删除一个运行中的容器
-l, --link=false 删除容器中的连接,但保留容器
-v, --volumes=false 删除容器挂载的数据卷
5.导入和导出容器
1)到处容器:
docker export CONTSINER(不管容器是否在运行)
如:docker export ce5547d7a > test_for_run.tar
可将导出的文件传输到其他机器上,再导入。这样实现了容器的迁移。
2)导入文件
docker import 命令,倒入后成为镜像。(实现容器快照到本地镜像仓库)
如: cat test_foor_run.tar | docker import - test/ubuntu:v1.0
网友评论