Docker教程2 运行MySQL容器,详细讲解run命令

        本节我们来详细介绍如何用docker来运行容器,从怎么找指定版本的容器,到拉取到本地再到运行,本教程我们以mysql为例子来教大家如何使用docker
        我们可以使用search命令查看有哪些镜像,但是在我们使用国内镜像时,这个有可能是无法使用的,这是因为部分国内镜像不支持搜索镜像,我们也可以取docker hub官网查看相关镜像如下图

# 搜索可用的mysql镜像
docker search mysql

        第一个是hub官方维护的镜像,我们一般就使用这个,如果有特殊需求后面还有各个团队维护的不同版本,点进去可以查看详细的介绍,再点击tags可以查看所有版本,我们可以选择自己想要的版本

# 格式
docker pull 团队名/镜像:版本
docker pull bitnami/mysql:8.4.4

        如果我们没有指定版本默认下载最新的,我们可以使用`docker images`命令来查看下载的所有镜像,镜像下载完成后就想要运行了,运行前先创建几个目录,用于将宿主机的目录挂载到容器内部

# 创建挂载目录
mkdir -p  ~/mysql/{conf,data,log}

下面我们解释具体的运行命令

docker run \
-p 3306:3306 \
--restart=always \
--name mysql \
--privileged=true \
-v /home/mysql/log:~/mysql/log \
-v /home/mysql/data:~/mysql/lib \
-v /home/mysql/conf/my.cnf:~/mysql/conf \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql

~要换成你自己的路径
`docker run`用来创建一个新的容器
`-p`用来设置端口映射,冒号前面的是主机的端口,后面的是容器的端口,这个表示将主机的3306端口映射到容器的3306
`--restart`用于设置容器的重启策略

noDocker 不会自动重启容器
on-failure:n容器异常退出时Docker会重启容器,如果正常(退出代码为0)退出就不重启,n表示最大重启次数
unless-stopped如果容器是通过 `docker stop` 命令手动停止的,那么在系统重启后,容器不会自动启动。
always适用于需要始终运行的容器,无论退出原因如何。

`--name` 用于指定容器名字,如果不指定docker会分配随机字符串
`--privileged=true` 设置为特权模式运行,会给容器更多的权限,使其能够访问宿主机的一些资源和功能,类似于在宿主机上以 root 用户运行。
`-v` 选项用于将宿主机的目录或文件挂载到容器内部。
`-e` 选项用于设置容器内的环境变量。MYSQL_ROOT_PASSWORD=123456表示设置root密码为123456
`-d`选项用于让容器在后台运行。后面指定了使用什么镜像
        run命令也可以下载镜像,也就是说我们可以使用run一条命令实现下载并运行,运行完后没有error就而是返回了一个字符串,这就表示启动成功,下面我们再介绍几个常用命令

# 查看运行中的容器 -a查看所有
docker ps
# 停止容器
docker stop id
# 运行容器
docker start id
# 进入容器的互式shell exit可以退出
docker exec -it id /bin/sh
# 查看指定容器的日志
docker logs -f id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值