docker命令

docker命令

 

1.      运行及状态管理

1.1.    创建/启动/终止/删除容器

docker create 创建容器,新创建的容器是停止状态

docker start 启动容器

docker restart

 

守护态,后台运行docker run –d python /bin/echo ‘hello world’

docker run等效于先创建然后启动容器,容器启动后会返回一个唯一的id。

docker run在后台做的操作包括:

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

 

docker stop [-t 10] 向容器发送SGTERM信号,等待10秒后再发送SIGKILL信号终止容器。

docker kill 杀死一个容器

 

1.1.1.   run

-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 run --name flaskapp -it python:3.6.9 /bin/bash #非后台

docker run --name flaskapp -itd python:3.6.9 /bin/bash #后台运行

 

1.1.2.   删除

docker rm <name>

-f :通过SIGKILL信号强制删除一个运行中的容器

强制删除容器db01、db02

docker rm -f db01 db02

 

1.2.    连接容器

docker exec :在运行的容器中执行命令

语法

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

OPTIONS说明:

-d :分离模式: 在后台运行

-i :即使没有附加也保持STDIN 打开

-t :分配一个伪终端

案例:

docker exec -it  flaskapp /bin/bash

 

可以通过 docker ps -a 命令查看已经在运行的容器,然后使用容器 ID 进入容器。

查看已经在运行的容器 ID:

# docker ps -a

9df70f9a0714        openjdk             "/usercode/script.sh…"

通过 exec 命令对指定的容器执行 bash:

# docker exec -it 9df70f9a0714 /bin/bash

 

2.      容器管理

2.1.1.   查看

docker ps

-a :显示所有的容器,包括未运行的。

-q :静默模式,只显示容器编号。

示例:

docker ps不加参数显示当前运行的所有容器;

docker ps –a –q 列出所有(运行/停止)的容器编号

 

3.      镜像管理

3.1.    images

docker images

-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);

--digests :显示镜像的摘要信息;

-f :显示满足条件的镜像;

--format :指定返回值的模板文件;

--no-trunc :显示完整的镜像信息;

-q :只显示镜像ID。

 

3.2.    rmi 移除镜像

docker rmi python:3.6.9

3.3.    build

docker build -t sn/flaskapp:v1  -f /e/dock/Dockerfile

docker build -t sn/flaskapp:v1 .

释义:

-t 指定标签名

-f 指定配置文件

尽量进入配置文件目录使用第2种方式创建镜像;在windows下第一种不能用;

注意第二句末尾有个点

 

4.      镜像仓库

login

docker pull [OPTIONS] NAME[:TAG|@DIGEST]
docker push [OPTIONS] NAME[:TAG]

search

 

5.      命令总结

docker run -it jcdemo/flaskapp /bin/bash

docker run --name flaskapp -it python:3.6.9 /bin/bash

docker run --name flaskapp -itd python:3.6.9 /bin/bash

 

docker run --name flaskapp -itd jcdemo/flaskapp /bin/bash

 

docker exec -it  flaskapp /bin/bash

 

docker build -t sn/flaskapp:v1  -f /e/dock/Dockerfile

docker build -t sn/flaskapp:v1 .

 

posted @ 2019-08-30 20:52  木林森__𣛧  阅读(205)  评论(0)    收藏  举报