操作容器

一、启动容器

#运行容器执行一个简单的命令
[root@localhost ~]# docker run ubuntu:16.04 /bin/echo "hello"
#进入到容器中
[root@localhost ~]# docker run -it ubuntu:16.04 /bin/bash
#-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
#-i  则让容器的标准输入保持打开

当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:

  • 检查本地是否存在指定的镜像,不存在就从公有仓库下载
  • 利用镜像创建并启动一个容器
  • 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
  • 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
  • 从地址池配置一个 ip 地址给容器
  • 执行用户指定的应用程序
  • 执行完毕后容器被终止

启动已终止的容器:

#停止容器
docker  stop 容器id
#启动已停止的容器
docker  start 容器id

后台运行容器:

使用-d参数运行容器,容器是否关闭主要看启动容器时的命令,容器的命令都运行在前台,如果前台命令一直执行,容器在正常情况下就会一直运行

[root@localhost ~]# docker run -itd ubuntu:16.04

进入到已启动的容器中(exec)

复制代码
[root@localhost ~]# docker container ps
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                NAMES
40f0218f7907        ubuntu:16.04              "/bin/bash"              3 minutes ago       Up 3 minutes                             peaceful_albattani
c7a2a75a5536        nginx                     "nginx -g 'daemon of"   21 hours ago        Up 21 hours         0.0.0.0:80->80/tcp   webserver
ce4ccea0bde8        ansible/centos7-ansible   "bash"                   42 hours ago        Up 42 hours                              web3
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                NAMES
40f0218f7907        ubuntu:16.04              "/bin/bash"              4 minutes ago       Up 4 minutes                             peaceful_albattani
c7a2a75a5536        nginx                     "nginx -g 'daemon of"   21 hours ago        Up 21 hours         0.0.0.0:80->80/tcp   webserver
ce4ccea0bde8        ansible/centos7-ansible   "bash"                   42 hours ago        Up 42 hours                              web3
[root@localhost ~]# docker exec -it 40f0218f7907 bash
root@40f0218f7907:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
复制代码

导出和导入容器

导出容器快照

docker export 容器ID > /opt/ubuntu.tar.gz

导入容器快照

docker import /opt/ubuntu.tar.gz  ubuntu:v2

删除容器

CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                NAMES
40f0218f7907        ubuntu:16.04              "/bin/bash"              3 hours ago         Up 3 hours                               peaceful_albattani
c7a2a75a5536        nginx                     "nginx -g 'daemon of��"   24 hours ago        Up 24 hours         0.0.0.0:80->80/tcp   webserver
ce4ccea0bde8        ansible/centos7-ansible   "bash"                   44 hours ago        Up 44 hours                              web3
[root@localhost ~]# docker rm -f 40f02

 

清理所有处于终止状态的容器

 

docker container ls -a 命令可以查看所有已经创建的包括终止状态的容器,如果数量太

$ docker container prune

 

多要一个个删除可能会很麻烦,用下面的命令可以清理掉所有处于终止状态的容器。

 

posted @   什么都不会的小郭  阅读(185)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示