逸学Docker【java工程师基础】2.Docker镜像容器基本操作+安装MySQL镜像运行

发布时间:2024年01月14日

基础的镜像操作

在这里我们的应用程序比如redis需要构建成镜像,它作为一个Docker文件就可以进行构建,构建完以后他是在本地的,我们可以推送到镜像服务器,逆向可以拉取到上传的镜像,或者说我们可以保存为压缩包进行相互传递

在本地的镜像可以传来传去,本身也可以查看和删除

查看镜像

docker? images

删除镜像

?docker rmi

当然查看帮助文档,可以查看docker的所有命令了

?docker --help

比如想看某个命令的作用,也可以这样查看

docker images --help

运行镜像

在这里我们安装mysql作为镜像并且讲解

1.我们先从镜像服务器拉取到MySQL

docker pull mysql:5.7

2.查看镜像

docker images

3.创建两个文件夹用来挂载

补充:-p代表可以嵌套创建多级文件夹

在这里创建挂载是因为镜像是一个整体,删了就没有了,我们可以从外部对应一个文件夹来映射,删了镜像,但是文件还在服务器上

mkdir -p /home/service/mysql/data

mkdir -p /home/service/mysql/conf

4.切换到/home/service/mysql/conf目录

cd /home/service/mysql/conf

5.创建my.cnf文件

补充:如果当前目录下没有名为 "my.cnf" 的文件,touch my.cnf?命令将创建一个新的空文件。如果该文件已经存在,touch?命令将更新文件的访问和修改时间戳,但不会改变文件的内容。

touch my.cnf

?"my.cnf" 通常是一个配置文件,用于存储 MySQL 服务器的配置信息。你可以使用文本编辑器(如 vim 或 nano)来编辑这个文件,以设置各种服务器参数。

6.编辑mysql配置信息

vim my.cnf

并且将下面内容粘入

[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
default-time_zone = '+8:00'
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

补充:

(如果没有vim就 yum install vim)

7.创建并且运行一个容器

docker run

-d mysql:5.7

--name mysql

-p 3306:3306

-v /home/service/mysql/logs:/logs

-v /home/service/mysql/data:/mysql_data

-e MYSQL_ROOT_PASSWORD=123456

docker run:创建并运行一个容器,可以加-d让容器在后台运行
--name mysql:给容器起个名字,必须唯一?

-p 3306:3306 设置端口映射? 第一个是服务器端口,第二个是容器端口

-v 用服务器的实体文件挂载到数据卷,数据卷对应的容器目录

数据卷(volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。

用真实控制虚拟,虚拟控制容器

-e?设置环境变量? 配置MySQL数据库的root用户的密码为123456

8.进入容器并且交互

docker exec -it mysql bash

9.输入密码登录

mysql -uroot -p

补充:密码不显示

10.mysql->

CREATE USER 'admin'@'%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'admin'@'%'; 
flush privileges; 

11.退出退出? ?查看启动状态

exit

exit

docker ps

快捷安装

docker pull mysql:5.7 

docker images 

mkdir -p /home/service/mysql/data 
mkdir -p /home/service/mysql/con

cd /home/service/mysql/conf

touch my.cnf 

vim my.cnf

-----------------------------
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
default-time_zone = '+8:00'
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
-----------------------------------------

docker run -p 3306:3306 --name mysql -v /home/service/mysql/logs:/logs -v /home/service/mysql/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7


docker exec -it mysql bash 

mysql -uroot -p 

123456

--------------------------------------

REATE USER 'admin'@'%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'admin'@'%'; 
flush privileges; 

------------------------------

docker ps

容器的命令

镜像到容器这一步,我们的操作就在重点就在容器的命令了

常用的

查看容器

docker ps?

可以加参数-a :显示所有的容器,包括未运行的

强制删除运行中的容器命令

docker rm -f? 容器

文章来源:https://blog.csdn.net/m0_59337285/article/details/135586727
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。