启动容器:
方法一:从镜像启动(docker run):
 启动容器并执行shell,然后退出:
docker run registry.intra.weibo.com/yushuang3/centos:v1 /bin/echo "hello world"
启动容器并进行交互:
docker run -t -i registry.intra.weibo.com/yushuang3/centos:v1 /bin/bash
(-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i 则让容器的标准输入保持打开)

注意:如果镜像有tag,需要在image后加:tag名

当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:
检查本地是否存在指定的镜像,不存在就从公有仓库下载
利用镜像创建并启动一个容器
分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
从地址池配置一个 ip 地址给容器
执行用户指定的应用程序
执行完毕后容器被终止
以守护态运行(加参数-d):

docker run -d registry.intra.weibo.com/yushuang3/centos:v1 /bin/sh -c "while true; do echo hello world; sleep 1; done"

方法二:直接将一个已经终止的容器启动运行(docker start)


查看容器信息(docker ps ):

[root@testhadoop-slave1 qinys]# docker ps 
CONTAINER ID        IMAGE            COMMAND    CREATED      STATUS       PORTS    NAMES
284953cde84b        centos/qinys     /bin/bash  8 days ago   Up 8 days             test_container  
参数: -a

要获取容器的输出信息(docker logs):
docker logs container_name
例如: docker logs test_container

停止容器(docker stop):

dockerstop container_name


重新启动处于终止状态的容器(docker start):

docker  start container_name


导出容器快照到本地文件(docker export):
首先获取容器id:
docker ps -a
导出容器到本地镜像库:
docker export container_id > centos.tar

导入容器快照为镜像(docker import):
(1)容器在本地:
cat centos.tar | docker import - registry.intra.weibo.com/yushuang3/centos:v2.0
(2)容器在网络上:
docker import http://example.com/exampleimage.tgz registry.intra.weibo.com/yushuang3/centos:v2.0
注意:
用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,
也可以使用 docker import 来导入一个容器快照到本地镜像库。
这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),
而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。

删除容器(docker rm):
docker ps -a 获取容器name
docker rm container_name

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐