【原】Docker笔记

参考:
Docker教程
容器与镜像的关系

CentOS Docker 安装

移除旧的版本:

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

安装一些必要的系统工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 缓存:

sudo yum makecache fast

安装 Docker-ce:

sudo yum -y install docker-ce

启动 Docker 后台服务:

sudo systemctl start docker

测试运行 hello-world:

[root@runoob ~]# docker run hello-world

Docker命令

# 查询容器命令
$ docker ps [options]

# 查看某一容器详细信息
$ docker inspect 容器id(可以区分的前几位即可)

# 查询镜像命令
$ docker images [options]

# docker容器可以理解为在沙盒中运行的进程
# 进程结束的时候,容器也就停止了
# 命令/程序在镜像中运行的进程就是就是容器???
$ docker run 镜像 命令

# 保存对容器的修改(通常就是安装环境、发布配置文件、部署新版本等) - 生成新的镜像
# 先查询出来修改后容器的id
$  docker ps -l
# 保存容器到新的镜像,id只用前几位进行区分就行
$ docker commit 698 learn/ping

# 然后就可以运行新的镜像
$ docker run lean/ping ping www.www.baidu.com

# 发布镜像,push,类似于git
# 这里的learn其实是用户名,用的时候再看怎么搞
$ docker push learn/ping

# 运行时参数
# -d 表示后台运行
# -p 5000:5000 表示容器内部的 5000 端口映射到我们本地主机的 5000 端口上
$ docker run -d -p 5000:5000 training/webapp python app.py
# -P 表示容器内部端口随机映射到主机的高端口
$ docker run -d -P training/webapp python app.py

# 可以查看指定 (ID或者名字)容器的某个确定端口映射到宿主机的端口号
$ docker port 容器id

# 可以查看容器内部的标准输出
# -f:让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。
$ docker logs -f 容器id

# 停止WEB应用容器
$ docker stop 容器id或名称

# 重启WEB应用容器
$ docker start 容器名称

# 移除WEB应用容器
$ docker rm 容器名称

# -t:在新容器内指定一个伪终端或终端。
# -i:允许你对容器内的标准输入 (STDIN) 进行交互。
$ docker run -t -i centos /bin/bash
### 关于云生与Docker的学习指南 #### 一、理解基础概念 为了更好地掌握云生和Docker技术,了解其基本理至关重要。Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化[^2]。 #### 二、深入探索Docker Compose 对于由多个服务构成的应用来说,使用`docker-compose.yml`文件来定义和服务间的关系是非常有效的做法。通过简单的命令如`docker-compose up -d`即可轻松启动整个应用程序栈并查看正在运行的服务列表 `docker ps` [^1]。 #### 三、实践操作——创建第一个Docker镜像 编写一份简易版的Python Web应用作为入门练习: ```python from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, Docker!' ``` 接着,在同一目录下建立名为`Dockerfile`的文字档,并加入如下内容以指定如何构建该Web应用对应的Docker映像: ```dockerfile FROM python:3.8-slim-buster WORKDIR /app COPY . . RUN pip install --no-cache-dir flask CMD ["python", "./app.py"] ``` 最后利用上述提到过的`docker build`指令完成映像制作过程。 #### 四、搭建多容器环境 随着项目规模扩大,单个独立运作的容器可能无法满足需求;此时引入Docker Compose就显得尤为重要了。编辑`docker-compose.yml`文档描述所需的所有组件及其交互逻辑,从而简化复杂系统的部署流程。 ```yaml version: "3" services: web: build: . ports: - "5000:5000" redis: image: "redis:alpine" ``` 此段落展示了怎样设置两个相互关联的服务实例—一个是前面提及的Flask API接口,另一个则是Redis键值存储数据库。 #### 五、迈向云端之旅 现代企业级解决方案往往离不开云计算的支持。无论是选择公有云还是私有云模式,都将极大地影响着业务灵活性与发展潜力。熟悉各大主流服务商所提供的IaaS/PaaS/SaaS类产品线有助于制定更合理的架构决策[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值