阅读更多
一、容器的基本操作
1、启动容器
docker run IMAGE [COMMAND] [ARG...]
例:docker run ubuntu echo 'hello world' 执行单个命令,执行完后,容器停止
2、启动交互式容器
docker run -i -t IMAGE /bin/bash
-i --interactive = true | false 默认是false 用于告诉docker守护进程为容器始终打开标准输入
-t --tty = true | false 默认是false 告诉docker要为创建的容器分配一个伪tty终端,新创建的容器才能提供一个交互式的shell
exit退出,交互式的容器也会停止
3、查看容器
docker ps [-a][-l]
-a 指列出所有的容器
-l 指列出最新的容器
docker ps 不指定参数,返回docker正在运行的容器
CONTAINER ID 是docker守护进程为容器分配的惟一ID,NAMES是docker守护进程为docker自动分配的名字
docker inspect 容器的ID/容器的名字 查看容器的详细信息
4、自定义容器名
docker run --name=自定义名 -i -t image /bin/bash
5、重新启动已经停止的容器
docker start [-i] 容器名 -i表示以交互的方式
6、删除停止的容器
docker rm 容器名
二、守护式容器
1、什么时守护式容器
能够长期运行;没有交互式会话;适合运行应用程序和服务
2、以守护形式运行容器
docker run -i -t image /bin/bash
ctrl+p ctrl+q
3、附加到运行中的容器
docker attach 容器名
4、启动守护式容器
docker run -d 镜像名 [command][arg...]
-d 以后台方式运行命令
5、查看容器日志
docker logs [-f] [-t] [--tail] 容器名
-f --follows = true| false 默认是false 告诉docker一直跟踪日志的变化,并返回结果
-t --timestamps=true|false 默认是false 在返回的结果上加上时间戳
--tail = "all" 返回结尾处多少日志
6、查看容器内进程
docker top 容器名
7、在运行中的容器内启动新进程
docker exec [-d] [-i] [-t] 容器名 [command] [arg...] 与run命令很相近
8、停止守护式容器
docker stop 容器名 发送一个信号给容器,等待容器的停止
docker kill 容器名 直接停止容器
三、在容器中部署静态网站
1、设置容器的端口映射
run [-P] [-p]
-P , --publish-all = true|false 默认为false ,将为容器暴露的所有端口进行映射
docker run -P -i -t ubuntu /bin/bash
-p, --publish=[] 指定容器进行映射的端口
docker run -p 80 -i -t ubuntu /bin/bash 指定容器端口
docker run -p 8080:80 -i -t ubuntu /bin/bash 指定宿主机端口和容器端口
docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash 指定IP和容器端口
docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash 指定IP、宿主机端口和容器端口
2、nginx部署流程
创建映射80端口的交互式容器
docker run -p 80 --name=web -i -t ubuntu /bin/bash
ctrl+p ctrl+q 退出
docker port web 可以查看端口映射
安装Nginx
执行 docker run -p 80 --name=web -i -t ubuntu /bin/bash后,会创建好容器,在容器内安装nginx
apt-get install -y nginx
安装文本编辑器vim
apt-get install -y vim
创建静态页面
创建静态页面存放目录 mkdir -p /var/www/html
创建并编辑静态页面 vi index.html
修改Nginx配置文件
使用whereis nginx查看nginx安装目录
修改配置文件/etc/nginx/sites-enabled/目录下的default文件
运行Nginx
在容器中执行命令 nginx
验证网站访问
使用docker port web可以查看web容器映射端口
通过浏览器或执行curl命令可以查看web容器页面内容
使用docker stop web 可以停止web容器运行
使用docker start -i web ,重新运行web容器
执行docker exec web nginx启动web容器中的nginx进程,便可再次访问页面内容。
使用docker top web查看web容器正在执行进程