Docker入门手册:从安装到使用

✔ 第一步:安装

环境配置:不同的电脑环境安装不同的版本,我的是
win10企业版或教育版:docker for windowswin10
家庭版/win7:dockertoolbox
其他系统参考:https://yeasy.gitbooks.io/docker_practice/content/install/

我的系统是win10家庭版:
dockertoolbox:【下载链接 】 【安装教程链接】

安装完成会出现下面三个图标:

Docker入门手册:从安装到使用_第1张图片
右键电脑左下角开始键选择windows PowerShell(i)

Docker入门手册:从安装到使用_第2张图片
出现下面界面,输入docker-machine -version查看docker-machine版本号,出现版本号安装完成
Docker入门手册:从安装到使用_第3张图片
关闭Windows powerShell双击DockerQuickstart图标出现以下界面:
Docker入门手册:从安装到使用_第4张图片

docker就已经安装好了!!!

其中192.168.199.100是docker在本机的虚拟地址。
输入docker info查看docker信息:
Docker入门手册:从安装到使用_第5张图片

✔ 第二步:配置阿里云镜像加速器

国内从docker hub拉取镜像网速较慢,此时可以配置加速器,配置加速器有多种方式,这里我配置的是阿里云镜像加速器

首先进入阿里云网页注册登录:【阿里云网页点此】

在搜索栏搜索镜像加速器,可以看到加速器地址和加速教程,我的地址是:https://rwo0rvut.mirror.aliyuncs.com
Docker入门手册:从安装到使用_第6张图片
创建default虚拟机,配置阿里云加速器的代码

docker-machine create --engine-registry-mirror=加速地址 -d virtualbox default
docker-machine restart default

# 若虚拟机已经创建好

docker-machine ssh default sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profileexit 
docker-machine restart default

加速地址填阿里云网页上的加速地址

在Docker Quickstart Terminal中输入docker info可以看到Registry Mirrors后面为阿里云镜像加速器地址。

Docker入门手册:从安装到使用_第7张图片
镜像加速器配置完成

✔ 第三步:docker的使用了解

一、拉取镜像:
docker pull [镜像名:版本号]
例:

docker pull mysql

出现以下界面,拉取mysql:latest镜像,没有版本号时默认拉取最新镜像
等待拉取完成

Docker入门手册:从安装到使用_第8张图片
拉取完成

输入docker images可以看到刚刚拉取的镜像

Docker入门手册:从安装到使用_第9张图片
拉取镜像成功

二、创建容器
有了镜像之后就可以使用镜像创建容器了。
1.普通创建
docker run -itd -p 8888:8080 --name [新建的容器名] [镜像名]
(1)docker run:运行一个容器
(2)-itd:表示交互界面后台运行
(3)-p:给容器设置端口
(4)8888:8080 :将容器端口映射搭配本地(前者映射本地端口,后者为docker容器端口)如果镜像名为tomcat的话进入浏览器http://192.168.99.100:8888/可以看到tomcat的tom猫界面。
(5)–name:给容器设置名字,名字放在其后。

2.mysql容器创建并挂载数据卷
docker run -itd -p 3307:3306 --name [新建的容器名] -e MYSQL_ROOT_PASSWORD=123456 -v /f/work/mysqldata:/var/lib/mysql [镜像名]
(1)-e :环境变量设置
(2)MYSQL_ROOT_PASSWORD=123456 :设置mysql的密码为123456
(3)-v:挂载数据卷到本地
(4)/f/work/mysqldata:/var/lib/mysql

3.连接mysql容器的tomcat容器创建
docker run -itd -p 8888:8080 --name [新建的容器名] --link [连接的mysql容器名] [镜像名]
(1)–link:表示tomcat连接了的mysql的容器

4.查看容器地址
docker inspect [容器名]IPAddress后面就是容器地址
5.查看容器日志
docker logs -f [容器名]
6.查看所有容器
docker container ls -a

三、将war包copy到tomcat容器的webapps下去
docker cp xxx.war [容器名/id]:/usr/local/tomcat/webapps
注意:此命令需要进入到war包所在的目录下执行

四、 将项目容器打包成镜像上传到Docker hub帐号
1.docker login
username:wanxue
password:

2.docker commit -a “镜像作者” -m “提交的说明文字” [打包的容器名称] [打包的镜像名称]

3.标记镜像docker tag image username/repository:tag

4.发布镜像 docker push username/repository:tag

五、 mysql的操作
1.进入容器
docker exec -it [mysql容器名] /bin/bash

2.登录
mysqlmysql -u root -ppassword:(输入密码)

3.数据库其他操作
查看数据库:show databases;(分号别忘了,以下同)
添加数据库:create database [数据库名] ;
导入数据:use [数据库名] ;
source /var/lib/mysql/xxx.sql ;(需要先把sql文件cp到目录下)
连接失败:alter user ‘root’@’%’ identified with mysql_native_password by ‘密码’ ;(最新的mysql镜像容器需要进入数据库打入此行命令,如果不打入则数据库连接不上;mysql:5.7不需要执行此行命令)

六、使用dockerfile生成镜像
docker build -t [镜像名] . (点不能掉,表示当前目录下)

七、docker导出/导入镜像导
出镜像:docker save > xxx.tar [要导出的镜像名或id](导出后在运行目录下找)
docker save : -o .tar(不会出现导入后为none)
导入镜像:docker load > xxx.tar
更改镜像repository和tag的名字: docker tag [镜像id] [要改的名称repository]:[版本tag]

✔ 第四步:如何使用docker配置tomcat镜像和mysql镜像

第一种情况:配置项目的docker镜像
1、导入需要的基础镜像
docker pull tomcat
docker pull mysql:5.7

2、将项目war包copy到tomcat的webapp目录下
进入项目war包所在目录
docker cp xxx.war 3639:/usr/local/tomcat/webapps
注意:此处3639为tomcat镜像的id,id写前4-5个字符即可
Docker入门手册:从安装到使用_第10张图片

3、启动mysql容器并导入数据库文件
docker run -itd -p 3307:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -v /f/work/mysqldata:/var/lib/mysql mysql:5.7

进入容器导入数据库(没有数据库文件直接忽略下面的步骤)
docker exec -it mysql1 /bin/bash

mysql -u root -p
password:(输入密码123456)
show databases;(分号别忘了,以下同)
查看数据库:添加数据库:create database [数据库名] ;
导入数据:use [数据库名] ;
source /var/lib/mysql/xxx.sql ;(需要先把sql文件cp到目录下)
连接失败:alter user ‘root’@’%’ identified with mysql_native_password by ‘密码’ ;(最新的mysql镜像容器需要进入数据库打入此行命令,如果不打入则数据库连接不上;mysql:5.7不需要执行此行命令)

4、启动连接mysql的tomcat容器
docker run -itd -p 8888:8080 --name myweb --link mysql2 tomcat:latest

5.进入浏览器查看web项目
http://docker虚拟地址:8888/xxx

Docker入门手册:从安装到使用_第11张图片
xxx为war包名

完成!

第二种情况:导入别人的tomcat和mysql镜像
1.进入tar包所在目录导入两个tar包docker load < xxx.tar

2、按照第一种情况启动两个容器

你可能感兴趣的:(docker)