*
一 : 概述
- Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署
二 : 核心概念
Host
: 主机,安装了docker程序的机器(Docker直接安装在操作系统上)Client
: 连接docker主机进行操作Registry
: 用来保存各种打包好的软件镜像Images
: 软件打包好的镜像,放在docker仓库中Container
: 镜像启动后的一个实例称为一个容器,容器是独立运行的一个或一组应用
三 : 安装docker
(一) 检查linux内核版本
uname -r
(二) 安装docker
yum install docker
(三) 启动docker
# 启动docker
systemctl start docker
# 查看版本号
docker -v
(四) 配置开机启动
systemctl enable docker
(五) 停止docker
systemctl stop docker
四 : 常用命令
(一) 镜像操作
(二) 容器操作
1.搜索镜像
docker search tomcat
2.拉取镜像
docker pull tomcat
3.根据镜像启动容器
docker run --name mytomcat -d tomcat:latest
--name
: Assign a name to the container-d
: --detach
,Run container in background and print container ID
4.查看运行中的容器
docker ps
5.停止运行中的容器
docker stop container-id
6.查看所有的容器
docker ps -a
7.启动容器
docker start container-id
8.删除容器
docker rm container-id
9.端口映射
docker run -d -p 8888:8080 tomcat
-d
: 后台运行-p
: --publish list
,Publish a container's port(s) to the host (default []),将容器的端口发布到主机端口(主机端口:容器端口)
10.开放8888端口
firewall-cmd --zone=public --add-port=8888/tcp --permanent
--zone
: 作用域--add-port=8888/tcp
: 添加端口,格式为:端口/通讯协议--permanent
: 永久生效
11.日志
docker logs container-name/container-id
(三) 安装mysql
1.拉取镜像
docker pull mysql
2.启动
docker run --name mysql01 -d -p 3306:3306 mysql
3.查看日志
docker logs mysql01
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
- 数据库没有初始化,密码操作没有被描述
- 你需要描述其中这三个变量中的一个
4.启动时指定变量
docker run --name mysql02 -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-e
: --env list
,Set environment variables (default [])
5.客户端连接
1) 进入镜像
docker exec -ti 2cbb0f246353 /bin/bash
2) 登录
mysql -uroot -p123456
3) 修改root登录地址
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
五 : 总结docker的使用步骤
- 安装Docker
- 去Docker仓库找到这个软件对应的镜像;
- 使用Docker运行这个镜像,这个镜像就会生成一个Docker容器;
- 对容器的启动停止就是对软件的启动停止;