一,容器的基本操作
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
执行安装命令,可能出现如下情况:
这时需要执行apt-get update命令,这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
重新执行安装命令,可以看到安装完成
(3)安装文本编辑器vim
# apt-get install -y vim
(4)创建静态页面
(5)修改Nginx配置文件
(6)运行Nginx
(7)验证网站访问
1,查看端口映射
2,访问