0
点赞
收藏
分享

微信扫一扫

Docker初识 -- 搭建编程环境

1. 学习步骤
2. Docker介绍

2.1. Docker 是什么

2.2. Docker 能够做什么

2.3. 为什么使用 Docker

2.4. Docker 项目架构

2.5. Docker 的基本概念

3. Windows 10 下安装 Docker

3.1. 系统要求

3.1.1. 查看系统版本和版本号

3.1.2. 电脑支持虚拟化

3.1.3. 开启Hyper-V

注意:Hyper-V 是与 VMware 是冲突的,两者不能并存,只能择其一,如果你必须要使用虚拟机的话,比如 Vagrant 之类的工具,亦可在虚拟机内运行一个 Linux 系统,然后根据 Linux 系统 的安装流程处理,在虚拟机内运行 Docker 作为开发环境。

3.2. 安装Docker for Windows
3.2.1. 下载Docker for Windows

3.2.2. 安装

3.2.3. 启动

4. 简单使用 Docker

4.1. 使用Docker的前提

4.2. Docker命令初体验

5. 设置Docker

5.1. 切换到Linux容器下

5.2. 镜像加速

5.2.1. 获取阿里云加速器地址

5.2.2. 配置docker加速器

5.2.3. 检查加速器是否生效

6. Docker 镜像操作

6.1. 获取镜像(下载镜像到本地)
Docker Hub 上有大量的高质量的镜像可以用,这里我们就说一下怎么获取这些镜像。

具体的选项可以通过 docker pull --help

Docker 镜像仓库地址:地址的格式一般是<域名/IP>[:端口号]。默认地址是 Docker Hub,但我们已经将其修改为阿里云的加速器。

例如:

6.2. 列出本地镜像

6.3. 删除本地镜像

7. Docker 容器操作

7.1. 说在前面

7.2. 查看容器

7.3. 启动容器

因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器。

7.3.1. 基于镜像新建一个容器并启动

实际操作举例:

7.3.2. 后台运行

例如:
docker run –d –p 8000:5000 training/webapp

7.3.3. 交互运行

在交互模式下,用户可以通过所创建的终端来输入linux命令
例如:

7.4. 终止容器
docker stop CONTAINER [CONTAINER...]

7.5. 启动一个停止的容器
docker start CONTAINER [CONTAINER...]

7.6. 重启容器
docker restart CONTAINER [CONTAINER...]

7.7. 删除容器
docker rm CONTAINER [CONTAINER...]
注意:删除容器前 先关闭容器

7.8. 获取容器的输出信息
docker logs CONTAINER [CONTAINER...]

7.9. 进入容器
docker exec –i –t CONTAINER /bin/bash

7.10. 主机和容器间拷贝文件
7.10.1. 容器拷贝到主机
docker cp CONTAINER:/opt/webapp/app.py d:/www

7.10.2. 主机拷贝到容器
docker cp f:/docker_test/文件 CONTAINER:/目标路径

8. 数据卷

8.1. 什么是数据卷
数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:

理解:
1.数据卷 的使用,类似于 Linux 下对目录或文件进行 mount,镜像中的被指定为挂载点的目录中的文件会隐藏掉,能显示看的是挂载的数据卷。
2.相当于将容器中的目录 和 本机目录映射起来,在本机目录中修改代码,增加文件等,会实时反映在容器目录中

8.2. 为什么要使用数据卷

方便将本地主机中的代码运行在docker容器中

8.3. 挂载数据卷的前提

8.4. 挂载一个主机目录作为数据卷
docker run -d -P 8000:5000 --name web -v f:/docker:/opt/webapp training/webapp

9. Docker应用-搭建PHP开发环境

9.1. 下载阿里云的lamp镜像

docker pull registry.cn-hangzhou.aliyuncs.com/itsource/centos-lamp:[镜像版本号]
镜像版本号就是TAG的值

9.2. 创建lamp容器并且运行
docker run -itd -p 80:80 -p 3306:3306 --name lamp --privileged=true -v D:/www/default:/data/wwwroot/default ec258725b54b /usr/sbin/init

10. 制作阿里云镜像

10.1. 制作本地镜像
docker commit -a "itsource.com" -m "this is image" 容器ID 镜像名字:版本

10.2. 上传阿里云

进入阿里云演示

10.3. 导出镜像到本地

docker save d2b9f203546d -o d:/www/centos-lamp-v2.tar

10.4. 加载本地镜像文件

docker load -i d:/www/centos-lamp-v2.tar

安装wget

yum install wget –y

备份yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

阿里云yum源

wget -O /etc/yum.repos.d/CentOS-Base.repo <u>http://mirrors.aliyun.com/repo/Centos-7.repo</u>

解决bash: service: command not found

yum install initscripts.x86_64 –y

yum install net-tools

docker run -it -p 80:80 --name lamp2 --privileged=true itsource/centos-lamp /usr/sbin/init

docker run -itd -p 80:80 --name lamp3 --privileged=true -v /data/wwwroot/www.baidu.com:/data/wwwroot/www.baidu.com itsource/centos-lamp /usr/sbin/init

docker rm $(docker ps -a -q)

举报

相关推荐

0 条评论