Docker容器操作

简介: Docker容器操作

N.1 查看容器

1)查看正在运行容器,#docker ps

——————————————————————

——————————————————————

——————————————————————

2)查看所有的容器(启动与未启动的容器),#docker ps -a

——————————————————————

——————————————————————

3)查看最后一次运行的容器,#docker ps –l

——————————————————————

——————————————————————

4)查看停止的容器,#docker ps -f status=exited

——————————————————————

——————————————————————

N.2 创建与启动容器

注意:必须先有镜像,再有容器,下面以CentOS镜像演示,先拉去 镜像 #docker pull centos:7 。

1)创建容器命令,#docker run [OPTIONS] 镜像名:标签名

(1)创建容器 [OPTIONS] 常用的参数说明:

[1] -i 表示交互式运行容器(就是创建容器后,马上会启动容器,并进入容器 ),通常与-t 同时使用

[2] -t 启动后会进入其容器命令行, 通常与 -i 同时使用; 加入 -it 两个参数后,容器创建就能登录进去。即分配一个伪终端。

[2] --name 为创建的容器指定一个名称 。

[3] -d 创建一个守护式容器在后台运行,并返回容器ID;

这样创建容器后不会自动登录容器,如果加-i 参数,创建后就会运行容器。

[4] -v 表示目录映射, 格式为: -p 宿主机目录:容器目录

注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

[5] -p 表示端口映射,格式为: -p 宿主机端口:容器端口

2)交互式容器

(1)说明: 就是创建容器后,马上会启动容器,并进入容器。

(2)创建一个交互式容器并取名为 mycentos , ( /bin/bash 是linux中的命令解析器,会进入到容器里面命令行,注意:docker 命令是不能在容器里面使用)。

(3)#docker run -it --name=mycentos centos:7 /bin/bash

——————————————————————

——————————————————————

——————————————————————

(4)新开一个 shell 窗口,再创建一个 mycentos1 容器

——————————————————————

——————————————————————

(5)总结: 同一个镜像, 可运行多个容器

N.3 退出容器

1)退出并停止当前容器

(1)注意在容器内部的命令行执行,#exit

——————————————————————

——————————————————————

2)退出不停止当前容器,按键盘: Ctrl + p + q

——————————————————————

——————————————————————

N.4 启动与停止容器

1)启动已运行过的容器,#docker start 容器名称|容器id

——————————————————————

——————————————————————

2)启动所有运行过的容器

(1)是查询所有运行过的容器ID:docker ps -a -q ,

(2)#docker start `docker ps -a -q`

——————————————————————

——————————————————————

3)停止正在运行的容器,#docker stop 容器名称|容器id

(1)当然前面的exit和stop,在某些情况, 有一样的效果

——————————————————————

——————————————————————

4)强制停止正在运行的容器(一般不用此,除非卡了),#docker kill 容器名称|容器id

——————————————————————

——————————————————————

5)停止所有在运行的容器,#docker stop `docker ps -a -q`

——————————————————————

——————————————————————

N.5 创建守护式容器

1)如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器(后台运行的容器)。

(1)创建(-d)并运行(-i)守护式容器命令如下(容器名称不能重复):

#docker run -id --name=mycentos2 centos:7

——————————————————————

——————————————————————

N.6 登录容器

1)登录已经启动的容器方式:

(1)使用 docker exec 进入容器中打开命令行终端

(2)如:#docker exec -it 容器名称|容器id /bin/bash

——————————————————————

——————————————————————

2)exit 针对通过 docker exec 进入的容器,只退出但不停止容器。

——————————————————————

——————————————————————

N.7 拷贝宿主机与容器中的文件

1)将宿主机文件拷贝到容器内

(1)#docker cp 要拷贝的宿主机文件或目录 容器名称:容器文件或目录

——————————————————————

——————————————————————

——————————————————————

——————————————————————

2)从容器内文件拷贝到宿主机。

(1)#docker cp 容器名称:要拷贝的容器文件或目录 宿主机文件或目录

(2)(文件拷贝 docker cp 命令 均在宿主机中操作)

N.8 数据目录挂载

我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,

这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。使用 -v 选项

1)目录挂载

(1)#docker run -id -v /宿主机绝对路径目录:/容器内目录 --name=容器名 镜像名

——————————————————————

——————————————————————

2)目录挂载只读(Read-only)权限

(1)#docker run -id -v /宿主机绝对路径目录:/容器内目录:ro --name=容器名 镜像名

——————————————————————

——————————————————————

N.9 看容器内部细节

1)查看容器运行内部细节,比如可看容器的IP。

(1)#docker inspect 容器名

——————————————————————

——————————————————————

N.10 查看容器IP地址

1)直接显示IP地址。

(1)#docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名

——————————————————————

——————————————————————

N.11 删除容器

1)删除指定的容器:

(1)#docker rm 容器名称 | 容器ID

——————————————————————

——————————————————————

2)删除所有容器(其中运行中的容器无法删除,所以先停再删):

(1)#docker rm `docker ps -a -q`

——————————————————————

——————————————————————

目录
打赏
0
2
2
0
16
分享
相关文章
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
82 12
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
【赵渝强老师】数据库不适合Docker容器化部署的原因
本文介绍了在Docker中部署MySQL数据库并实现数据持久化的方法,同时分析了数据库不适合容器化的原因。通过具体步骤演示如何拉取镜像、创建持久化目录及启动容器,确保数据安全存储。然而,由于数据安全性、硬件资源争用、网络带宽限制及额外隔离层等问题,数据库服务并不完全适合Docker容器化部署。文中还提到数据库一旦部署通常无需频繁升级,与Docker易于重构和重新部署的特点不符。
199 18
【赵渝强老师】数据库不适合Docker容器化部署的原因
获取Docker基础使用方法:让容器化变得轻松。
对于Docker的初学者来说,了解这些基础知识点就足够了。实践是最好的老师,越是动手操作,对Docker的理解会越深。祝阅读这篇文章的开发者们一切顺利,愿你在Docker的海洋中航行顺利!
107 17
Docker容器的实战讲解
这只是Docker的冰山一角,但是我希望这个简单的例子能帮助你理解Docker的基本概念和使用方法。Docker是一个强大的工具,它可以帮助你更有效地开发、部署和运行应用。
152 27
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
192 16
揭秘 Microsoft.Docker.SDK:让容器开发更轻松的强大工具揭秘
随着云计算和容器技术的快速发展,`Docker` 已经成为容器化技术的事实标准。`Microsoft` 作为 `Docker` 的主要支持者和参与者,推出了 `Microsoft.Docker.SDK`,旨在帮助开发者更轻松地进行容器开发。本文将深入揭秘 Microsoft.Docker.SDK 的功能、使用方法以及它在容器开发中的应用。
131 12
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问