Docker的学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: ``` Docker技术。 目录: 1.什么是Docker 2.理解Docker 3.走进Docker 4.Hello World 5.Nginx服务 6.docker化的java web。 1.什么
Docker技术。
目录:
1.什么是Docker
2.理解Docker
3.走进Docker
4.Hello World
5.Nginx服务
6.docker化的java web。

1.什么是Docker?

2.Docker思想。
集装箱   运输方式
标准化   存储方式
隔离     API接口

3.Docker解决了什么问题?
我本地运行没问题啊!
系统好卡,哪个哥们又写死循环了?
双11来了,服务器撑不住啦!

4.走进Docker。镜像(集装箱),仓库(超级码头),容器(运行程序的地方)。
Build构建镜像,Ship运输,Run运行容器。

Docker镜像。(一系列的文件)
Docker容器。(本质就是一个进程)
Docker仓库。(hub.docker.com、c.163.com)

5.window下安装Docker。
http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ (下载地址)
http://pan.baidu.com/s/1qYyc0ag (boot2docker.iso下载地址)
https://c.163yun.com/hub#/m/home/ (查看镜像的地址。)

6.第一个docker镜像。(hello-world)
docker pull [OPTIONS] NAME[:TAG]
docker images [OPTIONS] [REPOSITORY [:TAG]]
docker run [OPTIONS] IMAGE [:TAG] [COMMAND] [ARG...]
docker ps (查看镜像运行的进程)

docker pull hello-world (下载hello-world镜像)
docker images (查询本地的镜像)
docker version (查询docker的版本)
docker run hello-world (运行镜像)

7.运行一个nginx镜像。(nginx)
持久运行的容器;前台挂起&后台运行;进入容器内部。
下载地址:docker pull hub.c.163.com/library/nginx:latest
运行nginx:docker run hub.c.163.com/library/nginx (前台运行)
docker run -d hub.c.163.com/library/nginx

指定端口运行
docker run -d -p 8080:80 hub.c.163.com/library/nginx (指定端口8080,80)
docker run -d -P hub.c.163.com/library/nginx (随机端口)

docker ps 可以查看到nginx运行的container的id
docker exec -it 容器id (进入容器里面,类型linux目录) bash
exit (退出容器)
docker stop 容器id

8.Docker网络。
网络类型:
Bridge Host None
端口映射:

查看端口是否被监听:
netstat -na|grep 8080


9.制作自己的镜像
Dockerfile
docker build
Jpress: http://jpress.io/

Dockerfile文件:
from hub.c.163.com/library/tomcat  (是以tomcat为一个起点)
MAINTAINER llsydn 1091391667@qq.com (镜像所有者)
COPY D:/ddmh-1.0.0.jar /usr/local/tomcat/webapps (运行命令)

然后执行docker build -t (镜像的名称) . ( . 的作用是将本目录下的所有文件传递给docker容器)


Dockerfile语法:
from                base image
run                 执行命令
add                 添加文件
copy                拷贝文件
cmd                 执行名称
expose              暴露端口
workdir             指定路径
maintainer          维护者
env                 设置环境变量
entrypoint          容器入口
user                指定用户
volume              mount point


特别注意:
每次启动Docker Quickstart Terminal的时候,一开始会告诉我们docker is configured to use the 
default machine with IP 192.168.99.100(xxx.xxx.xx.xxx)
所以要访问docker里面启动的服务的时候,需要用这个ip去访问对应的应用。

10.安装mysql步骤。
10.1下载mysql的镜像:docker pull hub.c.163.com/library/mysql:latest
10.2启动mysql:docker run -d hub.c.163.com/library/mysql。
注意,这样的启动,再打印docker ps是找不到该进程的,因为启动报错了。
可以使用docker logs -f 容器id,会出现以下错误:error: database is uninitialized and password option is not 
specified You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and 
MYSQL_RANDOM_ROOT_PASSWORD,这里会提示我们要给定MYSQL_ROOT_PASSWORD,root用户的密码。
所以启动命令是: docker run -e MYSQL_ROOT_PASSWORD=xxxxxx --name MySQL -d hub.c.163.com/library/mysql
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
Kubernetes Ubuntu Linux
docker学习笔记
docker学习笔记
52 0
|
1月前
|
安全 网络安全 开发者
Docker学习笔记(一):Docker命令总结
本文介绍了Docker的基本概念、优点以及常用命令。Docker是一个开源的应用容器引擎,它通过容器打包应用程序及其依赖项,实现快速部署和迁移。主要优点包括轻量级、可移植性、易于管理、安全性和开源性。文章还区分了镜像和容器的概念,并提供了构建镜像、查看容器、运行容器、停止和删除容器等常用Docker命令的示例。
137 0
|
2月前
|
Docker Windows Python
Windows-Docker学习笔记(一)
本文介绍了Windows环境下Docker的安装与使用方法。首先通过链接下载Windows版本的Docker,然后按步骤配置:启用Windows功能、设置默认WSL版本为2,并检查Docker及其组件是否正常工作。接着详细列出了Docker的基础命令及其用法,包括搜索、下载镜像、管理容器等。同时介绍了Dockerfile的编写方法及其构建过程,以及docker-compose.yml文件的用途。最后提供了运行和管理容器的具体示例。
Windows-Docker学习笔记(一)
|
3月前
|
前端开发 jenkins 持续交付
jenkins学习笔记之二十:docker in docker运行pipeline
jenkins学习笔记之二十:docker in docker运行pipeline
|
3月前
|
jenkins Java 持续交付
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
|
6月前
|
安全 Linux Docker
Ubantu docker学习笔记(六)容器数据卷
Ubantu docker学习笔记(六)容器数据卷
Ubantu docker学习笔记(六)容器数据卷
|
6月前
|
Kubernetes 调度 Docker
Ubantu docker学习笔记(十一)k8s基本操作
Ubantu docker学习笔记(十一)k8s基本操作
|
6月前
|
Prometheus 监控 Cloud Native
Ubantu docker学习笔记(九)容器监控 自带的监控+sysdig+scope+cAdvisor+prometheus
Ubantu docker学习笔记(九)容器监控 自带的监控+sysdig+scope+cAdvisor+prometheus
|
6月前
|
存储 应用服务中间件 nginx
Ubantu docker学习笔记(八)私有仓库
Ubantu docker学习笔记(八)私有仓库
|
6月前
|
网络协议 Docker 容器
Ubantu docker学习笔记(七)容器网络
Ubantu docker学习笔记(七)容器网络
下一篇
无影云桌面