Docker入门学习笔记 (一)

Docker入门学习笔记(一)

B站——【公开课】Docker入坑教程【33集】 庄七


1. 什么是Docker?

2. Docke的目标

3. Docker通常应用场景

4. Docker的基本组成

5. Docker基本操作

6. 守护式容器

7. 在容器中部署静态网站


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
    
        
            Nginx in Docker
        
        
            

hello, I'm website in docker!

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地址均已改变

你可能感兴趣的:(Docker)