跟我一起学docker(四)--容器的常用操作

1.创建容器

Docker的容器十分轻量级,用户可以随时创建或删除容器。

新建容器:docker create

Example:docker create –ti ubuntu

说明:使用docker create命令创建的容器处于停止状态,可以使用docker start命令启动它。

新增加了一个name等于test_create的,status等于create

新建并启动容器:docker run

Example: docker run ubuntu/bin/echo “Hello World”

说明: 等价于先执行docker create命令,再执行docker start命令。

docker run 背后的故事:

1 检查本地是否存在制定的镜像,不存在就从公有仓库下载。

2 利用本地镜像创建并启动一个容器。

3 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层。

4 从宿主机配置的网桥接口桥接一个虚拟接口到容器中去。

5 从地址池配置一个IP地址给容器。

6 执行用户的指定的用户程序。

7 执行完毕后容器被终止。

一条简单的命令:

docker run -i –t ubuntu/bin/bash

-t : 让docker分配一个伪终端并绑定到容器的标准输入上。

-i : 让容器的标准输入保持打开。

在交互模式下,用户可以通过所创建的终端来输入命令,exit命令退出容器。

退出后,容器自动处于终止状态。

3秒前容器被退出了。

守护台运行:

更多的时候,需要让Docker容器运行在后台以守护态(daemonized)形式运行。用户可以通过

添加-d参数来实现。

Example:

docker run –d ubuntu/bin/sh -c “while true;do echo hello world;sleep 1;done”

补充:

查看日志: docker logs<container_id>

docker logs –f <container_id>动态的查看日志,类似咱们查看tomcat的日志一样

2.终止容器

可以使用docker stop命令来终止一个运行中的容器。

docker stop<container_id>

注意:

当容器中的应用终结时,容器也会自动停止。

查看终止的容器:docker ps -a

查看运行的容器:docker ps

重新启动容器:docker start<container_id>

3.进入容器

在使用-d参数时,容器启动后会进入后台,用户无法看到容器中的信息。

docker exec <options><container_id> <command>

Exec可以直接在容器内部运行命令。

进入容器:

docker exec -i –t<container_id> bash

run 运行一个容器后,进入容器的话,exit容器直接退出

exec进入容器后,exit容器不退出,仍在后台运行

4.删除容器

可以使用docker rm命令删除终止状态的容器。

如果删除正在运行的容器,需要停止容器在进行删除

不管容器是否运行,可以使用docker rm–f命令进行删除。

5.导入和导出容器

导出容器是指导出一个已经创建的容器到一个文件,不管容器是否处于运行状态。可以使用docker export命令。

docker export<container_id>

Example:

Docker export test_id >test.tar

导出的文件又可以使用docker import命令导入,成为镜像。

Example:

cat export.tar | docker import - liming/testimport:latest

导入容器生成镜像,通过镜像生成容器,查看容器里面的内容

原文发布于微信公众号 - 编程坑太多(idig88)

原文发表时间:2018-04-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT笔记

Docker学习之搭建MySql容器服务

MySQL 5.6 SQL数据库服务器Docker镜像,此容器映像包含用于OpenShift的MySQL 5.6 SQL数据库服务器和一般用法。用户可以选择RH...

4406
来自专栏iOSDevLog

macOS 用 Docker 安装 gogsDockergogs配置

1373
来自专栏jmeter高手高高手

Docker基础操作

   Docker是一个虚拟环境容器,可以将你的环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。比如,你在本地部署了git,jenkins...

1373
来自专栏互联网开发者交流社区

SpringBoot与docker

1192
来自专栏Laoqi's Linux运维专列

Docker Compose 部署服务

1796
来自专栏散尽浮华

Docker容器学习梳理--基础环境安装

以下是centos系统安装docker的操作记录 1)第一种方法:采用系统自带的docker安装,但是这一般都不是最新版的docker 安装epel源 [roo...

2875
来自专栏点滴积累

Docker存储

前言 上一篇文章中简单总结了一下docke的基础使用方法,这次我来总结一下有关docker存储方面的相关知识。本文同样建立在CloudMan的系列教程之上,有兴...

4114
来自专栏散尽浮华

Docker容器学习梳理--手动制作系统镜像

docker官方和个人发布的镜像由于版本等各种原因,漏洞较多,已统计Docker Hub超过30%的官方镜像包含高危漏洞。此外,由于网络等原因也会造成docke...

2288
来自专栏技术之路

Docker实践--部署Nodejs应用

  这个例子的目标是为了向大家展示如何在Docker的container里运行Node.js程序。我会先创建一个简单的Node.js web app,来构建一个...

3158
来自专栏北京马哥教育

Docker常用命令汇总

一、查看docker信息 1、查看docker版本 docker version 2、显示docker系统的信息 docker info 二、对image的...

3549

扫码关注云+社区

领取腾讯云代金券