0x01.概述
1.什么是Docker?
- Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
- 简单来说,Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启动是非常快速的。
2.Docker相关概念
- docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
- docker客户端(Client):连接docker主机进行操作;
- docker仓库(Registry):用来保存各种打包好的软件镜像;
- docker镜像(Images):软件打包好的镜像;放在docker仓库中;
- docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用
0x02.Docker的安装
- 此处针对阿里云服务器端的Ubuntu18.0进行示范(详细步骤)。
- 在Linux虚拟机里面安装实际上也是一样的。
- Docker也是可以在Windows里面安装的,但平时Linux用的比较多。
1.检查内核版本
- 安装Docker需要保证内核版本必须是3.10及以上。
- 如果你的内核版本在3.10以下,可以先百度一下如何升级Linux内核版本。
uname -r
2.卸载旧版本
- Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。
- 如果系统默认安装了旧版本,最好卸载,安装新版本。
sudo apt-get remove docker docker-engine docker.io containerd runc
3.Docker安装
- 在Ubuntu中是使用这个命令:
sudo apt-get install docker.io
- 在centos中可以直接使用:
yum install docker
- 这里展示的是Ubuntu的:
4.验证是否安装成功
- 出现以下信息表示安装成功!
sudo docker run hello-world
5.启动Docker
systemctl start docker
6.设置开机自启动
systemctl enable docker
7.关闭Docker
systemctl stop docker
0x03.Docker常用命令
- 镜像和容器的关系:运行镜像---->产生一个容器
1.操作镜像:
操作 | 命令 | 说明 |
---|---|---|
检索 | docker search 关键字 eg:docker search redis | 我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。 |
拉取 | docker pull 镜像名:tag | :tag是可选的,tag表示标签,多为软件的版本,默认是latest |
列表 | docker images | 查看所有本地镜像 |
删除 | docker rmi image-id | 删除指定的本地镜像 |
- 搜索镜像
docker search mysql
- 拉取镜像:
- 查看本地所有镜像:
2.操作容器:
-
根据镜像启动容器:
--name
:自定义容器的名称。-d
:后台运行。-p
: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
docker run --name mytomcat -d -p 8888:8080 tomcat:latest
- 查看运行中的容器:
docker ps
- 停止运行中的容器:
docker stop 容器的id
- 查看所有的容器:
docker ps -a
- 启动容器:
docker start 容器id
- 删除一个容器:
docker rm 容器id
- 查看容器日志:
docker logs container-name/container-id
- 具体命令查看Docker官网:https://docs.docker.com/engine/reference/commandline/docker/
0x04.安装Mysql
1.拉取下载Mysql镜像:
docker pull mysql
2.启动:
-p
:端口映射。--name
:指定容器名称。-e
:mysql的参数,MYSQL_ROOT_PASSWORD=123456
,指定root用户的密码。
docker run -p 3333:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
3.修改配置信息:
- 把主机的/conf/mysql文件夹挂载到 mysqldocker容器的/etc/mysql/conf.d文件夹里面
改mysql的配置文件就只需要把mysql配置文件放在自定义的文件夹下(/conf/mysql)
docker run --name mysql04 -v /conf/mysql:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
- 指定mysql的一些配置参数
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw
-d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
ATFWUS --Writing By 2020–05-01