Docker基础学习(三)-Docker容器

一,容器的基本操作

1,启动容器:

$ docker run IMAGE[COMMAND] [AEG...]

IMAGE:指定容器运行的镜像

COMMAND:指定运行的命令

ARG:运行的参数

例如:

$ docker run ubuntu echo "Hello World"
这一个执行单次命令的容器,输出“Hello World”之后,容器就停止了

2,启动交互式容器:

$ docker run -i -t IMAGE /bin/bash

-i --interactive=ture|false 默认是false  //告诉docker守护进程为容器始终打开标准输入

-t --tty=true|false 默认是false //分配一个伪tty终端

例如:

$docker run -i -t  ubuntu /bin/bash
 

3,查看容器:

$ docker ps [-a][-l]

不加参数,查看正在运行的容器

-a:查看所有的容器

-l:查看最新的一个容器

$ docker inspect 容器名或容器ID

查看容器详细的配置信息

 

4,自定义容器的名字:

$ docker run --name=自定义名 -i -t IMAGE /bin/bash

 

5,重启启动停止的容器:

$ docker start [-i] 容器名或容器ID

 

6,删除停止的容器:

$ docker rm 容器名或容器ID

 

二,守护式容器

1,什么是守护式容器:

(1)能够长期运行

(2)没有交互式会话

(3)适合运行应用程序和服务

 

2,以守护形式运行容器:

$ docker run -i -t IMAGE /bin/bash

运行之后,不用退出,执行Ctrl+P Ctrl+Q

 

3,附加到运行中的容器:

$ docker attach 容器名或容器ID

 

4,启动守护式容器:

$ docker run -d 镜像名[COMMAND][ARG...]

-d 以后台形式运行容器

例如:

$ docker run --name dc1 -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done"
 

5,查看容器日志:

$ docker logs [-f][-t][--tail] 容器名

-f --follows=true|false 默认为false //一直跟踪日志的变化,并返回结果

-t --timestamps=true|false 默认为false //在返回的结果加上时间戳

--tail ="all" //返回结尾处多少数量的日志

不指定参数,返回所有的日志

 

6,查看容器内进程:

$docker top 容器名或容器ID

 

7,在运行的容器内启动新进程:

$ docker exec [-d][-i][-t] 容器名[COMMAND][AGR...]

例如:

$ docker exec -d -t -i dc1 /bin/bash
 

8,停止守护式容器:

$ docker stop 容器名|容器ID  //发送信号给容器,等待容器的停止,停止后返回容器名

$ docker kill 容器名或容器  //直接停止容器

 

三,在容器中部署静态网站

1,设置容器的端口映射

run [-P][-p]

-P,-publish-all=true|false 默认为false //将容器暴露的所有的端口进行映射

例如:

$ docker run -P -i -t ubuntu /bin/bash
-p,--publish=[],可以指定映射哪些容器的端口,下面使用的四种方式

(1)containerPort,只指定容器的端口,映射的宿主机的端口是随机的

$ docker run -p 80 -i -t ubuntu /bin/bash

(2)hostPort:containerPort:,同时指定宿主机的端口和容器的端口

$ docker run -p 8080:80 -i -t ubuntu /bin/bash

(3)ip:containerPort,指定ip和容器的端口

$ docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash

(4)ip:hostPort:containerPort,指定ip,宿主机端口,容器端口

$ docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash

2,在容器中部署静态网站-Nginx部署流程

(1)创建映射80端口的交互式容器

$ docker run -p 80 --name=web -i -t ubuntu /bin/bash

(2)安装Nginx

# apt-get install -y nginx

执行安装命令,可能出现如下情况:

Docker基础学习(三)-Docker容器_第1张图片

这时需要执行apt-get update命令,这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。

Docker基础学习(三)-Docker容器_第2张图片

重新执行安装命令,可以看到安装完成

Docker基础学习(三)-Docker容器_第3张图片

 

(3)安装文本编辑器vim

# apt-get install -y vim

(4)创建静态页面

Docker基础学习(三)-Docker容器_第4张图片

 

(5)修改Nginx配置文件

Docker基础学习(三)-Docker容器_第5张图片

 

(6)运行Nginx

Docker基础学习(三)-Docker容器_第6张图片

 

(7)验证网站访问

1,查看端口映射

Docker基础学习(三)-Docker容器_第7张图片

2,访问

Docker基础学习(三)-Docker容器_第8张图片

 

Docker基础学习(三)-Docker容器_第9张图片

 

 

你可能感兴趣的:(【Docker基础学习】)