docker命令记录

127 阅读2分钟

docker安装mysql

  默认已装好docker,需要拉取镜像可去dockerHub中选取需要拉取的镜像,本文以拉取并安装mysql为例。

image.png

image.png

image.png 复制拉取指定版本的命令,执行

docker pull mysql:5.7

待其拉取完成后再输入命令查看是否有拉取成功

docker images

image.png

建两个目录,让mysql存储的文件挂在的宿主机。其实也可以不创建目录,因为在启动容器时发现没有目录就会自动创建

mkdir -p ~/mysql/{data,logs}

以命令启动镜像

docker run -d --name mysql \
-v /mysql/data:/var/lib/mysql:rw \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3307:3306  mysql:5.7

-d 后台启动
--name 给启动的容器命名(镜像启动后就是容器)
-v 将容器中目录映射到宿主机,后面的rw意为无论在宿主机还是容器内,增删文件,修改文件都能互相生效,如果想多映射几个目录,可以多写几个-v。但是我本想把/etc/mysql目录映射出来,总是失败,不知为何
-e 指定用户名密码,此处MYSQL_ROOT_PASSWORD=123456意为将root用户的密码设置为123456
-p 指定端口,格式:宿主机端口:容器端口,在外部访问此处指定的宿主机端口即可访问到容器
最后的mysql:5.7意为repository:TAG

image.png 启动后,需要进入到mysql进行授权,运行远程登录才能够访问

docker exec -it mysql bash

进入到容器

mysql -uroot -p123456

登录mysql

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

授权

FLUSH PRIVILEGES;

刷新权限
就可以在外部进行访问了

常用命令

再介绍几个常用的命令

docker ps

查看已启动的容器

docker ps -a

查看全部容器(包括已关闭的容器)

docker rm 容器id

根据容器id删除容器

docker ps -aq

-q表示只展示容器id,-aq所以就表示展示所有容器的id

docker rm `docker ps -aq`

删除所有容器。前提条件是所有容器都已关闭,即删除已关闭的所有容器,如果存在开启状态的容器,会删除失败\

docker stop 容器id

停止某容器

docker cp /mysql/cnf mysql:/etc/mysql/

把宿主机的文件拷贝到容器内,想把容器内文件拷贝出来的话交换下顺序即可

docker rmi 容器id
docker rmi repository:tag

删除镜像