docker 容器的使用

一、启动容器有两种方式

1.基于镜像新建一个容器并启动

1.1 在后台运行一个docker

docker run -d centos /bin/sh -c "while true;do echo 正在运行;sleep 1;done"

# -d:后台运行

# /bin/sh 指定使用centos的bash

# -c运行一段shell命令

# "while true;do echo 正在运行;sleep 1;done" 在linux后台,每秒中打印一次正在运行

docker ps    #检查容器进程

docker logs -f 容器id/名称     # 不间断打印容器的日志信息

docker stop 容器名称            # 停止容器

1.2 启动一个bash终端,允许用户进行交互

docker run --name mydocker -it centos /bin/bash

# --name 给容器定义一个名称

# -i : 让容器的标准输入保持打开

# -t:  让docker分配一个伪终端,并绑定到容器的标准输入上

# /bin/bash 指定docker容器,用shell解释器交互

当利用docker run 来创建容器时,docker在后台运行的步骤如下:

1).检查本地是否有指定的镜像,不存在就从共有仓库中下载

2).利用镜像创建并启动一个容器

3).分配一个文件系统,并在只读的镜像曾外面挂在一层可读可写

4).从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中

5).从地址池配置一个ip地址给容器

6).执行用户指定的应用程序

7).执行完毕后容器停止

1.2 将一个终止状态的容器重新启动

docker ps -a  #查询记录

docker start 容器id   #启动容器

docker exec -it 容器id /bin/bash    #进入容器交互式界面

二、运行一个web应用

用docker构建一个web应用程序

docker pull training/webapp    #载入镜像

docker run -P training/webapp python app.py

# -P:将容器内部使用的网络端口映射到使用的主机上

查看web应用容器

多了端口信息,docker开放了5000端口(默认python Flask端口)映射到主机端口32679上

通过浏览器访问web应用

查看web应用程序中的app.py的内容

可以通过-p参数设置不一样的端口

docker run -d -p 5000:5000 training/webapp python  app.py

docker ps 查看正在运行的容器,容器内部的5000端口映射到本地主机的5000端口上。

网络端口的快捷方式

通过docker ps 命令可以查看到容器的端口映射,还可以使用docker port命令查看指定容器的某个确定端口映射到宿主机的端口号。

docker port 容器id或者容器名称来查看容器端口映射情况

查看web应用程序容器的进程

docker top 命令查看容器内部运行的进程

检查web应用程序

使用docker inspect 来查看docker 的底层信息,会返回一个json文件记录着docker容器的配置和状态信息

停止web应用容器

docker stop 容器id或者容器名称

重启web应用程序

docker start 启动容器

dcoker ps -l 查询最后一次创建的容器

正在运行的容器,可以通过docker restart 容器id/容器name 重启

移除web应用容器

docker rm 命令删除不需要的容器

删除容器时,容器必须是停止状态,否则会报错

猜你喜欢

转载自www.cnblogs.com/jiawei2527/p/10852873.html