Docker学习笔记(docker 启动一个应用,初识docker)

docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。 如何用docker容器构建一个简单的web应用(docker容器部署一个python flask应用)

docker pull training/webapp # 载入镜像 docker run -d -P training/webapp python app.py docker ps 来查看我们正在运行的容器

可以看到我们的端口是 :

这样一个 简单的docker应用服务就启动起来了;然后我们使用"ip"+端口即可访问,如图:

当然 docker除了 以上命令还有很多常用的命令: 如:查看容器端口的映射情况 docker port a750055c1713(ID) 或 docker port elated_bohr(应用名字 NAMES) docker port a750055c1713 5000/tcp -> 0.0.0.0:5000

查看 WEB 应用程序日志: runoob@runoob:~$ docker logs -f a750055c1713(ID)

查看WEB应用程序容器的进程: runoob@runoob:~$ docker top elated_bohr(NAMES)

检查 WEB 应用程序 使用 docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。 runoob@runoob:~$ docker inspect elated_bohr(NAMES)

停止 WEB 应用容器 runoob@runoob:~$ docker stop elated_bohr(NAMES) elated_bohr

重启WEB应用容器 已经停止的容器,我们可以使用命令 docker start 来启动。 runoob@runoob:~$ docker start elated_bohr elated_bohr

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

正在运行的容器,我们可以使用 docker restart 命令来重启

移除WEB应用容器(注:删除容器时,容器必须是停止状态,否则会报错) runoob@runoob:~$ docker rm elated_bohr elated_bohr

Docker 镜像使用 列出镜像列表 runoob@runoob:~$ docker images

参数说明: REPOSITORY:表示镜像的仓库源 TAG:镜像的标签 IMAGE ID:镜像ID CREATED:镜像创建时间 SIZE:镜像大小 同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如ubuntu仓库源里,有15.10、14.04等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。如: runoob@runoob:~$ docker run -t -i ubuntu:15.10 /bin/bash

要使用版本为14.04的ubuntu系统: runoob@runoob:~$ docker run -t -i ubuntu:14.04 /bin/bash

获取一个新的镜像 runoob@runoob:~$ docker pull ubuntu:13.10 下载完成后,我们可以直接使用这个镜像来运行容器。

查找镜像 runoob@runoob:~$ docker search httpd 参数说明: NAME:镜像仓库源的名称 DESCRIPTION:镜像的描述 OFFICIAL:是否docker官方发布

拖取镜像: runoob@runoob:~$ docker pull httpd

下载完成使用: runoob@runoob:~$ docker run httpd

创建镜像两种方式: 1.从已经创建的容器中更新镜像,并且提交这个镜像 2.使用 Dockerfile 指令来创建一个新的镜像

更新镜像: 更新镜像之前,我们需要使用镜像来创建一个容器。 runoob@runoob:~$ docker run -t -i ubuntu:15.10 /bin/bash

在运行的容器内使用 apt-get update 命令进行更新。 在完成操作之后,输入 exit 命令来退出这个容器

此时ID为e218edb10161的容器,是按我们的需求更改的容器。我们可以通过命令 docker commit来提交容器副本 runoob@runoob:~$ docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2 参数说明: -m:提交的描述信息 -a:指定镜像作者 e218edb10161:容器ID runoob/ubuntu:v2:指定要创建的目标镜像名

runoob@runoob:~$ docker run -t -i runoob/ubuntu:v2 /bin/bash

构建镜像 我们使用命令 docker build , 从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。 runoob@runoob:~$ cat Dockerfile FROM centos:6.7 MAINTAINER Fisher "fisher@sudops.com" RUN /bin/echo 'root:123456' |chpasswd RUN useradd runoob RUN /bin/echo 'runoob:123456' |chpasswd RUN /bin/echo -e "LANG="en_US.UTF-8"" >/etc/default/local EXPOSE 22 EXPOSE 80 CMD /usr/sbin/sshd -D

每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。 第一条FROM,指定使用哪个镜像源 RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。 然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像 runoob@runoob:~$ docker build -t runoob/centos:6.7 . Sending build context to Docker daemon 17.92 kB Step 1 : FROM centos:6.7 ---> d95b5ca17cc3 Step 2 : MAINTAINER Fisher "fisher@sudops.com" ---> Using cache ---> 0c92299c6f03 Step 3 : RUN /bin/echo 'root:123456' |chpasswd ---> Using cache ---> 0397ce2fbd0a Step 4 : RUN useradd runoob ......

参数说明: -t :指定要创建的目标镜像名 . :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

使用新的镜像来创建容器: runoob@runoob:~$ docker run -t -i runoob/centos:6.7 /bin/bash [root@41c28d18b5fb /]# id runoob uid=500(runoob) gid=500(runoob) groups=500(runoob)

设置镜像标签: runoob@runoob:~$ docker tag 860c279d2fec runoob/centos:dev

Docker 容器连接: 可以指定容器绑定的网络地址,比如绑定127.0.0.1:5001高端口 5000本机端口 -P :是容器内部端口随机映射到主机的高端口。 -p : 是容器内部端口绑定到指定的主机端口。 runoob@runoob:~$ docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py 这样我们就可以通过访问127.0.0.1:5001来访问容器的5000端口。

默认都是绑定 tcp 端口,如果要绑定 UDP 端口,可以在端口后面加上 /udp。: runoob@runoob:~$ docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.p

docker port 命令可以让我们快捷地查看端口的绑定情况。: runoob@runoob:~$ docker port adoring_stonebraker 5000

Docker容器连接 docker有一个连接系统允许将多个容器连接在一起,共享连接信息。 docker连接会创建一个父子关系,其中父容器可以看到子容器的信息。 容器命名 当我们创建一个容器的时候,docker会自动对它进行命名。另外,我们也可以使用--name标识来命名容器,例如: runoob@runoob:~$ docker run -d -P --name runoob training/webapp python app.py

转载于:https://my.oschina.net/moonroot/blog/2986967

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值