容器的基本操作
基本命令:
docker run ubuntu echo 'hello world' (加载一个阿班图的容器)
docker ps (查看正在运行中的容器)
运行交互式容器:
启动交互式容器
docker run -i -t IMAGE /bin/bash
-i:--interactive=true|false 默认是false(用来告诉docker的守护进程,为容器始终打开标准输入)
-t --tty=true|false 默认是false(要为创建的容器分配一个伪tty终端,这样新创建的容器才能提供一个交互式的shell )
IMAGE (镜像名)
查看容器
docker ps -a (查看所有的容器)
docker ps -l (查看最新创建的容器)
docker ps (查看正在运行中的容器)
docker inspect a1s2s5w55e6s6s6 (查看已经建立起来的容器)
#注:inspect参数就是容器的名字,既可以是唯一的id ,也可以是容器的自定义名
------
自定义容器名
docker run --name=自定义名 -i -t IMAGE /bin/bash
(IMAGE是镜像名)
重新启动停止的容器
docker start [-i] 容器名或id
(-i用交互的方式重新启动已经停止的容器)
删除容器(已经停止的容器)
docker rm 容器名或id
运行守护式容器
-能够长期运行
-没有交互式的会话
-适合运行应用程序和服务
以守护形式运行容器
(就是后台运行)
docker run -i -t IMAGE /bin/bash
Ctrl+P Crel+Q
(先Ctrl+P再Crel+Q)
打开运行中的容器
(就是打开后台)
docker attach 容器名/ID
启动一个守护式容器
docker run -d 镜像名 [COMMAND][ARG..]
#(-d 就是启动容器时使用后台的方式来执行命令)
#例子docker run --name sss -d ubuntu /bin/sh -c "while true ;do echo hello world; sleep 1;done"
#例子docker run --name sss -d ubuntu /bin/sh
容器日志
(查看容器内部运行情况)
docker logs [-f][-t][--tail] 容器名
-f --follows=true|false 默认为false(一直跟踪日志变化并返回结果)
-t --timestamps=true|false 默认为false(再返回结果后加上时间戳)
--tail="all"(选择返回结尾处多少数量的日志)
(如果不指定会返回所有的日志)
#例子:
docker logs sss(可以看到所有的日志内有时间)
docker logs -t sss(可以看到输出时间)
docker logs -tf sss(可以看到日志一直在更新)
docker logs -t --tail 0 sss(可以看到最新的日志,数字是几直接显示几条然后一条一条更新,数字为0直接一条一条更新)
注意:Ctrl+C返回
查看容器内进程
docker top 容器名 (运行中容器的进程)
在运行的容器中启动新进程
docker exec [-d][-i][-t] 容器名 [COMMAND][ARG...]
#-d 就是启动容器时使用后台的方式来执行命令
#-i -i用交互的方式重新启动已经停止的容器
#-t -timestamps=true|false 默认为false(再返回结果后加上时间戳)
#[COMMAND][ARG...]需要执行的命令和参数
停止守护式容器
docker stop 容器名 (发送一个命令给容器,等待容器停止)
docker kill 容器名 (直接停止容器)
查看docker帮助文档
man docker-run
man docker-logs
man docker-top
man docker-exec
在容器中部署静态网站
设置容器的端口映射-------
run [-P][-p]
#[-P]对端口所有暴露的端口映射
--publish-all=true|false 默认为false
docker run -P -i -t ubuntu /bin/bash
#[-p]对端口指定的端口进行映射
-p,--publish=[]
containerPort (第一种:只指定容器的端口,宿主机的端口是随机映射的)
docker run -p 80 -i -t ubuntu /bin/bash
hostPort:containerPort (第二种:同时指定宿主机端口和容器端口)
docker run -p 8080:80 -i -t ubuntu /bin/bash
ip::containerPort (第三种:指定ip和容器端口)
docker run -p 0.0.0.0:80 -i-t ubuntu /bin/bash
ip:hostPort:containerPort (第四种:指定ip,宿主机,容器端口)
在容器中部署ngx服务
创建80映射端口
安装Nginx
安装文本编辑器vim
创建静态页面
修改Nginx配置文件
运行Nginx
验证网站访问
步骤
1`运行一个带端口映射的交互式容器
docker run -p 80 --name web -i -t ubuntu /bin/bash
2`加载Nginx 如果报错先运行 apt-get update
apt-get install -y nginx
3.安装vim
apt-get install -y vim
4`创建运行在Nginx中的网站
1.创建目录
mkdir -p /var/www/html
2.切换到目录
cd /var/www/html
3.使用vim创建并编辑一个页面
/var/www/html# vim index.html
4.esc退出 :wq保存并退出
5.nginx开启nginx服务
6.cd /返回主目录
7.ps -ef查看运行情况
8.Ctrl