如何开始docker - docker容器

docker容器

docker容器就是程序真正跑起来的地方,容器里面就是以镜像为模板,然后跑起一个或者一组应用。

¥45.8
领10元券

如何开始docker - docker容器

容器运行

docker run → create → start → running → process exit → stopped → docker rm → deleted

1、docker run从镜像里面创建一个容器,并开始运行;

2、根据镜像的内容来启动应用程序, 进行支持;

3、如果程序退出了,没有程序在前台运行,容器就退出执行了,处于stooped状态;

4、如果我们不需要再执行这个容器了,我们可以执行docker rm删除容器,释放磁盘空间,容器里面的东西都会被删除。


创建新容器

docker create 和docker run都可以创建新的容器,只是docker create创建的容器并不是直接运行,而是直接处于stopped状态,需要手动去启动起来。这两命令的语法是一致的。

docker run 执行过程:

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

docker run常用创建参数

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-p: 端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="opcailinux1": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "opcailinux1": 指定容器的hostname;

-e username="opcai": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值(单位:bytes);

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

例子

1、创建一个有名字的容器

docker run -itd --name=opcailinux centos:latest

2、映射随机端口

docker run -itd --name=opcailinux1 -P nginx:latest

3、手动映射端口

docker run -itd --name=opcailinux2 -p 81:80 nginx:latest

4、挂载数据目录到容器里面

docker run -itd --name=opcailinux3 -v /data/docker/nginx:/data nginx:latest

如何开始docker - docker容器


查看容器

docker ps #查看正在运行或者暂停的容器

docker ps -a #查看所有的容器(包括停止的)

docker ps -l #查看最后一个创建的容器信息

docker ps -a -s #统计所有容器的大小


进入容器操作

docker exec -it [容器ID] /bin/bash

这里的/bin/bash 是容器里面的/bin/bash,就是启动一个bash shell,提供操作,有些镜像没有使用bash,就需要运行其他终端,一般都有/bin/sh这个软链接来链接到默认的shell程序。

容器状态控制

1、启动stopped的容器

docker start [容器ID]

2、重启容器

docker restart [容器ID]

3、停止容器

docker stop [容器ID]

4、暂停容器(暂停只容器进程暂停,分配的资源没有回收,stop就回收了)

docker pause [容器ID]

5、暂停恢复容器

docker unpause [容器ID]

6、查看容器标准输出日志(有时候,容器异常退出的时候,需要看下输出,来排查问题)

docker logs [容器ID]

如何开始docker - docker容器


容器导入导出

docker提供export、import命令来导出容器快照,和导入快照成为镜像

1、导出容器快照

docker export [容器ID] > opcailinux1.tar

2、导入快照文件成为镜像

docker import opcailinux1.tar opcailinux:v1.0

如何开始docker - docker容器


容器清理

容器如果在运行或者暂停中,默认是不允许删除的,需要加 -f 参数

docker rm [容器ID]

强制删除

docker rm -f [容器ID]

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

docker rm $(docker ps -a -q)

相关推荐