docker search 镜像名:寻找镜像
docker pull 镜像名:拉去镜像
docker images :查看拥有镜像
docker ps :查看正在运行容器
docker pa -a :查看所有容器(包含运行中的和停止的)
docker rm 容器名:删除容器
- //拉取mysql镜像,我这里并未指定具体版本,默认拉取最新版本
- docker pull mysql
- //执行指令 -p指定端口号 本机端口:容器端口
- docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name docker-mysql mysql
运行时需要设定密码,mysql默认没有密码不会运行,没有设定密码会报如下的错误:
同时 docker ps -a 显示为:
在容器中安装mysql后,mysql的所有数据只存储在容器中,容器删除则数据也删除。为实现数据的持久化,需要将docker容器中数据存储至宿主机上。
- docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
- -v /usr/local/mysql/log:/var/log/mysql \
- -v /usr/local/mysql/data:/var/lib/mysql \
- -v /usr/local/mysql/conf:/etc/mysql \
- -v /etc/localtime:/etc/localtime:ro \
- -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
-p 3306:3306:指定宿主机端口与容器端口映射关系
--name mysql:创建的容器名称
--restart=always:总是跟随docker启动
--privileged=true:获取宿主机root权限,这个指令要在-d之前
-v /usr/local/mysql/log:/var/log/mysql:映射日志目录,宿主机:容器
-v /usr/local/mysql/data:/var/lib/mysql:映射数据目录,宿主机:容器
-v /usr/local/mysql/conf:/etc/mysql:映射配置目录,宿主机:容器
-v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。
-e MYSQL_ROOT_PASSWORD=123456:指定mysql环境变量,root用户的密码为123456
-d mysql:latest:后台运行mysql容器,版本是latest。
以上指令可以将docker中数据全部存储至D盘下,避免文件的丢失。
docker安装mysql,通过docker exec -it your‘name /bin/bash 进入容器后,apt-get yum sudo 等均无效,显示为:无法找到指令。可通过下面指令安装yum
microdnf install yum