Docker入门学习笔记(一)
1. 什么是Docker?
- 将应用程序自动部署到容器
2. Docke的目标
- 提供简单轻量的建模方式
- 职责的逻辑分离
- 快速高效的开发周期
- 鼓励面向服务的架构
3. Docker通常应用场景
- 使用Docker容器开发、测试、部署服务
- 创建隔离的运行环境
- 搭建多用户的平台即服务(PaaS)基础设施
- 提供软件即服务(SaaS)应用程序
- 高性能、超大规模的宿主机部署
4. Docker的基本组成
- Docker Client 客户端
- Docker Daemon 守护进程
- Docker Image 镜像
- Docker Container 容器
- Docker Registey 仓库
5. Docker基本操作
运行容器
# docker run IMAGE [COMMAND] [ARG…]
run 在新容器中执行命令
启动交互式容器:
# docker run -i -t IMAGE /bin/bash
-i --interactive=true|false 默认为false
-t --tty=true|false 默认为false
查看容器:
# docker ps [-a] [-l]
# docker inspect 容器名/id
自定义容器名:
# docker run --name=自定义名 -i -t /bin/bash
重新启动已经停止的容器:
# docker start [-i] 容器名/id
删除停止的容器:
# docker rm 容器名/id
6. 守护式容器
- 能够长期运行
- 没有交互式会话
- 适合运行应用程序和服务
以守护形式运行容器
# docker run -i -t IMAGE /bin/bash
Ctrl+P Ctrl+Q
附加到运行中的容器
# docker attach 容器名/id
启动守护式容器
# docker run -d 镜像名 [COMMAND] [ARG…]
-d 以后台运行方式启动
查看容器日志
# docker logs [-f] [-t] [--tail] 容器名/id
-f --follows=true|false 默认为false
一直跟踪日志变化并返回结果,Ctrl+C停止
-t --timestamps=true|false 默认为false
附加时间戳
--tail ="all"
返回结尾处日志,未指定则返回所有日志
查看容器内进程
# docker top 容器名/id
在运行中的容器内启动新进程
# docker exec [-d][-i][-t] 容器名/id [COMMAND] [ARG…]
停止守护容器
# docker stop 容器名/id 发送信号后等待服务器停止
# docker kill 容器名/id 直接终止
使用docker帮助文档
man docker-run
7. 在容器中部署静态网站
设置容器的端口映射
run [-P] [-p]
-P --publish-all=true | false 默认为false
# docker run -P -i -t ubuntu /bin/bash
映射所有端口
-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
# docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash
ip:hostPort:containerPort
# docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash
Nginx部署静态网页流程
- 创建映射80端口的交互式容器
- 安装Nginx
- 安装文本编辑器vim
- 创建静态页面
- 修改Nginx配置文件
- 运行Nginx
- 验证网站访问
# docker run -p 80 --name web -i -t ubuntu /bin/bash
apt-get update
apt-get install -y nginx
apt-get install -y vim
mkdir -p /var/www/html
cd /var/www/html
vim index.html
<html>
<head>
<title>Nginx in Docker</title>
</head>
<body>
<h1>hello, I'm website in docker!</h1>
</body>
</html>
whereis nginx
vim /etc/nginx/sites-enabled/default
修改 root 的值为 /var/www/html
cd /
nginx
ps -ef
Ctrl+P Ctrl+Q 退出,后台运行
# docker ps 查看运行的容器
# docker port web 查看端口映射情况
# docker top web 查看容器进程情况
curl http://127.0.0.1:32768 以映射的端口为准
# docekr inspect web 查看容器对应的IPAddress
curl 172.17.0.2
# 关闭容器
# docker stop web
# docker start -i web
# ps -ef
# nignx并未启动
# docker exec web nginx
# 重新启动Nginx
# 映射的端口和IP地址均已改变
来源:CSDN
作者:渣渣的夏天
链接:https://blog.csdn.net/qq_39564555/article/details/97620705