创建容器
docker create centos
ca19190796663f6e804488d36b12aa65b77339ec3bde5f1fa414e9ea4f1c72cd
如果本地镜像中有容器,则直接创建,如果本地没有镜像则会去官方下载相应的镜像。
查看已创建的容器
docker ps ##查看正在运行的容器
docker ps -a ##查看所有的容器
docker ps -qa ##查看所有容器的id
相关字段说明:
CONTAINER ID: 容器的唯一ID编号。
IMAGE:镜像的名称
COMMAND:容器的初始化命令,该命令和镜像的默认设置有关,当然,在启动容器时我们时可以修改的。
CREATED:创建的时间。
STATUS:当前的状态。
PORTS:对外暴露的端口。
NAMES:容器的名称,若不指定,则docker引擎会自动帮咱们随机生成一个容器名称。
运行一个已创建的容器
docker start ca1919079666
ca1919079666
停止一个正在运行的容器
docker stop ca1919079666
ca1919079666
重启容器
docker restart ca1919079666
ca1919079666
创建并启动一个容器
docker run -it --name centos centos
[root@eb896a566867 /]#
常见的相关参数说明:
-i:表示交互式的类型。通常和"-t"选项搭配使用。
-t:表示启动一个终端。通常和"-i"选项搭配使用。
-d:让容器在后台运行,默认情况下,容器是在前台(当前终端)运行的,这意味着会阻塞当前终端。
--name:创建容器时指定名称。
docker run的时候,所有的参数,必须写在镜像名称前面哟
删除容器
删除容器时既可以基于容器ID删除,也可以基于容器名称删除
docker rm -f centos
centos
##如果要删除正在运行的容器,加上-f参数即可
进入容器并创建新的终端
直接用exit退出不会停止容器的运行,因为我们创建了新的终端。
docker exec -it centos /bin/bash
[root@809bf2fb26ae /]#
显示正在运行的容器中进程信息
docker top centos
UID PID PPID C STIME TTY TIME CMD
root 3331 3310 0 17:44 pts/0 00:00:00
对容器的名称进行重命名
docker rename centos centos_new
获取容器的启动日志
docker logs centos_new
docker logs -f --tail=100 centos_new ##查看最近100行的并且实时查看。
将宿主机的数据拷贝到虚拟机内
docker cp centos.tar.gz centos_new:/
Successfully copied 239MB to centos_new:/
显示容器资源使用统计信息的实时流
docker stats --no-stream centos_new
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
809bf2fb26ae centos_new 0.00% 540KiB / 990.4MiB 0.05% 656B / 0B 0B / 0B 1
##--no-stream 代表只显示第一行
暂停容器运行
docker pause centos_new
centos_new
我们可以将容器暂停,但一旦将容器暂停,这也意味着该容器无法对外提供服务了
值得注意的时,暂停容器运行,其状态的时间并不会变动了,而是停在这一刻了。
恢复容器运行
docker unpause centos_new
centos_new
恢复容器运行后,其时间还是会接着暂停时间的容器开始计数
将容器的文件系统导出为tar存档
docker export centos_new -o centos_new.tar.gz
打成tar存档之后可以使用docker import恢复成镜像
docker import centos_new.tar.gz centos_new
sha256:33b3cf85f49d9df7806c2aaa2b144c693b2e40c00845e1f98dc2bb999f65f81b
将当前状态的容器打成镜像
docker commit centos_new centos:new
sha256:f317335ce5d6b8597812432ab52ce4c1d9b973751fee4bd70fa35d0c4e4e7fc4
显示一个或多个容器的详细信息
docker inspect centos_new