Docker教程系列三:Docker容器操作

1查看容器

l  查看正在运行容器:


docker ps

l  查看所有的容器(启动过的历史容器):


docker ps –a

l  查看最后一次运行的容器:


docker ps –l

l  查看停止的容器


docker ps -f status=exited

2创建与启动容器

l  创建容器常用的参数说明:

l  创建容器命令:docker run

l  -i:表示运行容器

l  -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。

l  --name :为创建的容器命名。

l  -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

l  -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。

l  -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

2.1交互式容器

创建一个交互式容器并取名为mycentos


docker run -it --name = mycentos centos:7 /bin/bash

这时我们通过ps命令查看,发现可以看到启动的容器,状态为启动状态

使用exit命令 退出当前容器

然后用ps -a 命令查看发现该容器也随之停止

2.2守护式容器

创建一个守护式容器:如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。命令如下(容器名称不能重复):


docker run -di --name=mycentos2 centos:7

l  登录守护式容器方式:

docker exec -it container_name (或者 container_id)  /bin/bash(exit退出时,容器不会停止)

3停止与启动容器

l  停止正在运行的容器:docker stop $CONTAINER_NAME/ID

l  启动已运行过的容器:docker start $CONTAINER_NAME/ID

4文件拷贝

如果我们需要将文件拷贝到容器内可以使用cp命令


docker cp 需要拷贝的文件或目录 容器名称:容器目录

也可以将文件从容器内拷贝出来


docker cp 容器名称:容器目录 需要拷贝的文件或目录

5目录挂载

我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。

创建容器 添加-v参数 后边为   宿主机目录:容器目录


docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos2 centos:7

如果你共享的是多级的目录,可能会出现权限不足的提示。

这是因为CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数  --privileged=true  来解决挂载的目录没有权限的问题

6查看容器IP地址

我们可以通过以下命令查看容器运行的各种数据


docker inspect mycentos2

也可以直接执行下面的命令直接输出IP地址


docker inspect --format=‘{{.NetworkSettings.IPAddress}}‘ mycentos2

7删除容器

l  删除指定的容器:docker rm $CONTAINER_ID/NAME

注意,只能删除停止的容器

l  删除所有容器:docker rm `docker ps -a -q`

原文地址:https://www.cnblogs.com/xiangzhuo/p/9484090.html

时间: 2024-11-07 22:36:21

Docker教程系列三:Docker容器操作的相关文章

Docker 系列三(容器管理).

一.运行容器 1.基于镜像新建一个容器并启动 docker run -it --rm -d -p 8888:8080 tomcat:8.0 -i:交互式操作 -t:终端 -rm:容器退出后随之将其删除,可以避免浪费空间 -p :端口映射 -d :容器在后台运行 指明了 -d 运行镜像,会返回容器的 id:如果不指明 -d 运行镜像,会打印出 catalina.out 的 日志,在 [crtl +c] 后,容器即停止运行. 当利用 docker run 来创建容器时,Docker 在后台运行的标准

Docker教程系列二:Docker镜像操作

1什么是Docker镜像 Docker镜像是由文件系统叠加而成(是一种文件的存储形式).最底端是一个文件引导系统,即bootfs,这很像典型的Linux/Unix的引导文件系统.Docker用户几乎永远不会和引导系统有什么交互.实际上,当一个容器启动后,它将会被移动到内存中,而引导文件系统则会被卸载,以留出更多的内存供磁盘镜像使用.Docker容器启动是需要的一些文件,而这些文件就可以称为Docker镜像. 2列出镜像 列出docker下的所有镜像:docker images l  REPOSI

docker学习笔记2:容器操作

一.列出主机上已经创建的容器 docker ps -a 二.创建交互式容器 命令: docker run -i -t ubuntu /bin/bash 其中-i -t 表示创建一个提供交互式shell的容器. ubuntu是镜像名,如果本地不存在,回到仓库中下载. /bin/bash 是指定容器创建后立即执行的命令. 注意:每个容器都有一个唯一的ID,作为容器的标识.每个容器也有个唯一的名称,在用docker run命令创建时可以通过 --name 名称 来指定,如果不指定,系统会自动产生一个名

Docker教程系列一:在CentOS7上安装与启动Docker

1安装环境说明(本教程是在CentOS7上完成的) Docker官方建议在Ubuntu中安装,因为Docker是基于Ubuntu发布的,而且一般Docker出现的问题Ubuntu是最先更新或者打补丁的.在很多版本的CentOS中是不支持更新最新的一些补丁包的. 注意:这里建议安装在CentOS7.x以上的版本,在CentOS6.x的版本中,安装前需要安装其他很多的环境而且Docker很多补丁不支持更新. 2安装Docker 使用yum命令在线安装 yum install docker 运行过程遇

Netty4.x中文教程系列(三) ChannelHandler

Netty4.x中文教程系列(四)  ChannelHandler 上一篇文章详细解释了Hello World示例的代码.里面涉及了一些Netty框架的基础. 这篇文章用以解释ChannelHandler.笔者本身在以前写过文章ChannelHandler改动及影响 和 ChannelInitializer 学习 对Netty的.ChannelHandler做过阐述.里面主要描述了4.x版本相对于3.x版本的改动以及影响.并引用了一些文章.为大家详细的解释了ChannelHandler里面涉及架

Docker教程系列八:Docker备份与迁移(完)

1容器保存为镜像 我们可以通过以下命令将容器保存为镜像 docker commit nginx mynginx nginx是容器名称 mynginx是新的镜像名称 此镜像的内容就是你当前容器的内容,接下来你可以用此镜像再次运行新的容器 2镜像备份 docker  save -o mynginx.tar mynginx -o 输出到的文件 执行后,运行ls命令即可看到打成的tar包 3镜像恢复与迁移 首先我们先删除掉mynginx镜像 然后执行此命令进行恢复 docker load -i myng

Docker教程系列五:Docker上部署tomcat

1下载tomcat镜像(7-jre8代表tomcat7和java jdk8,tomcat需要java环境,点击下面连接可以查看可下载的版本) 查看可下载版本 docker pull tomcat:7-jre8 2创建tomcat容器 docker run -di --name=tomcat -p 8080:8080 -v tomcat/myhtml:/usr/local/tomcat/webapps --privileged=true tomcat:7-jre8 3部署web应用 将自己网站的w

Docker教程系列六:Docker上部署Nginx

1下载Nginx镜像 docker pull nginx 2创建Nginx容器 docker run -di --name=nginx -p 80:80  nginx/bin/bash 3测试Nginx 浏览器地址栏输入: Linux系统ip 4配置反向代理 官方的nginx镜像,nginx配置文件nginx.conf 在/etc/nginx/目录下. 在容器内编辑配置文件不方便,我们可以先将配置文件从容器内拷贝到宿主机,编辑修改后再拷贝回去. (1)从容器拷贝配置文件到宿主机 docker c

Docker教程系列七:Docker上部署Redis

1下载Redis镜像 docker pull redis 2创建Redis容器 docker run -di --name=redis -p 6379:6379 redis 3客户端测试 在你的本地电脑命令提示符下,用window版本redis测试 redis-cli -h docker所在Linux系统ip 原文地址:https://www.cnblogs.com/xiangzhuo/p/9484438.html