docker 将容器提交为镜像和启动容器

一、将容器提交为新的镜像

**docker commit **基于容器创建一个新的镜像。

语法

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

  • **-a **提交的镜像作者;

  • **-c **使用Dockerfile指令来创建镜像;

  • **-m **提交时的说明文字;

  • **-p **在commit时,将容器暂停。

实例

将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。

runoob@runoob:~$ docker commit -a "runoob.com" -m "my apache" a404c6c174a2  mymysql:v1 
sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057
runoob@runoob:~$ docker images mymysql:v1
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mymysql             v1                  37af1236adef        15 seconds ago      329 MB

二、启动一个容器

Docker run 命令

**docker run :**创建一个新的容器并运行一个命令

语法

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS说明:

  • -a stdin 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  • -d 后台运行容器,并返回容器ID;
  • -i 以交互模式运行容器,通常与 -t 同时使用;
  • -P 随机端口映射,容器内部端口随机映射到主机的端口
  • -p 指定端口映射,格式为:主机(宿主)端口:容器端口
  • -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • –name=“nginx-lb” 为容器指定一个名称;
  • –dns 8.8.8.8 指定容器使用的DNS服务器,默认和宿主一致;
  • –dns-search example.com 指定容器DNS搜索域名,默认和宿主一致;
  • -h “mars” 指定容器的hostname;
  • -e username=“ritchie” 设置环境变量;
  • –env-file=[] 从指定文件读入环境变量;
  • –cpuset=“0-2” or --cpuset=“0,1,2” 绑定容器到指定CPU运行;
  • **-m 😗*设置容器使用内存最大值;
  • –net=“bridge” 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  • –link=[] 添加链接到另一个容器;
  • –expose=[] 开放一个端口或一组端口;
  • –volume , -v 绑定一个卷

实例

使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。

docker run --name mynginx -d nginx:latest

使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。

docker run -P -d nginx:latest

使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。

docker run -p 80:80 -v /data:/data -d nginx:latest

绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。

$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash

使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。

runoob@runoob:~$ docker run -it nginx:latest /bin/bash
root@b8573233d675:/# 

使用镜像mfuzz:0.0.2以交互式模式启动一个在后台运行的容器,在容器内执行/bin/bash命令。此时退出(ctl+d)容器时,容器仍在运行中。

docker run -it -d --name mfuzz2 mfuzz:0.0.2 /bin/bash
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值