Docker的学习笔记

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: ``` 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
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
Kubernetes Ubuntu Linux
docker学习笔记
docker学习笔记
119 0
|
Docker Windows Python
Windows-Docker学习笔记(一)
本文介绍了Windows环境下Docker的安装与使用方法。首先通过链接下载Windows版本的Docker,然后按步骤配置:启用Windows功能、设置默认WSL版本为2,并检查Docker及其组件是否正常工作。接着详细列出了Docker的基础命令及其用法,包括搜索、下载镜像、管理容器等。同时介绍了Dockerfile的编写方法及其构建过程,以及docker-compose.yml文件的用途。最后提供了运行和管理容器的具体示例。
Windows-Docker学习笔记(一)
|
12月前
|
安全 网络安全 开发者
Docker学习笔记(一):Docker命令总结
本文介绍了Docker的基本概念、优点以及常用命令。Docker是一个开源的应用容器引擎,它通过容器打包应用程序及其依赖项,实现快速部署和迁移。主要优点包括轻量级、可移植性、易于管理、安全性和开源性。文章还区分了镜像和容器的概念,并提供了构建镜像、查看容器、运行容器、停止和删除容器等常用Docker命令的示例。
312 0
|
前端开发 jenkins 持续交付
jenkins学习笔记之二十:docker in docker运行pipeline
jenkins学习笔记之二十:docker in docker运行pipeline
|
jenkins Java 持续交付
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
|
安全 Linux Docker
Ubantu docker学习笔记(六)容器数据卷
Ubantu docker学习笔记(六)容器数据卷
Ubantu docker学习笔记(六)容器数据卷
|
XML Docker 容器
Docker学习笔记十:docker Compose
Docker学习笔记十:docker Compose
239 1
Docker学习笔记十:docker Compose
|
Kubernetes 调度 Docker
Ubantu docker学习笔记(十一)k8s基本操作
Ubantu docker学习笔记(十一)k8s基本操作
|
Prometheus 监控 Cloud Native
Ubantu docker学习笔记(九)容器监控 自带的监控+sysdig+scope+cAdvisor+prometheus
Ubantu docker学习笔记(九)容器监控 自带的监控+sysdig+scope+cAdvisor+prometheus
|
存储 应用服务中间件 nginx
Ubantu docker学习笔记(八)私有仓库
Ubantu docker学习笔记(八)私有仓库