本篇文章以安装MySQL数据库为例子,记录Docker常用命令
安装docker
docker容器互联
新建网络
1
| docker network create my-net
|
列出所有网络
将容器连接到网络
1
| docker network connect my-net mysql
|
断开容器的网络
1
| docker network disconnect my-net mysql
|
删除一个或多个网络
1
| docker network rm my-net
|
docker客户端
容器使用
搜索镜像
这里我们搜索mysql
镜像
获取MySQL
镜像
下载需要的版本docker pull mysql:tag
tag
代表版本号,没有代表是lastest
的
1
| docker pull docker.io/mysql:5.7.26
|
列出本地镜像
创建 MySQL 数据目录
启动MySQL
实例
1
| docker run --name mysql -p 3306:3306 --privileged=true -v /opt/mysql/log:/var/log/mysql -v /opt/mysql/conf:/etc/mysql -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --net my-net --restart=unless-stopped -d mysql:5.7.26
|
Tips
-e MYSQL_ROOT_PASSWORD=123456
命令: 指定MySQL的登录密码为 123456
-v /opt/mysql/data:/var/lib/mysql
命令: 将宿主机的目录 /opt/mysql
挂载到容器内部的目录 /var/lib/mysql
,默认情况下 MySQL
将向 /opt/mysql
写入其数据文件。
-v /opt/mysql/conf:/etc/mysql
命令:MySQL配置文件存放位置
-v /opt/mysql/log:/var/log/mysql
命令:MySQL日志文件
--net my-net
命令: 将该容器加入到 my-net
网络,连接到 my-net
网络的任何其他容器都可以访问 mysql
容器上的所有端口。
--restart=unless-stopped
命令:在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
-d
命令:表示后台运行
-p 3306:3306
命令:端口映射
--privileged=true
命令:container内的root拥有真正的root权限
查看docker容器运行情况
查看所有的容器
启动一个已停止的容器
停止一个容器
停止的容器可以通过 docker restart 重启:
进入MySQL容器
1
| docker exec -it mysql /bin/bash
|
Tips
- -i: 交互式操作。
- -t: 终端。
- mysql: mysql 镜像。
- /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
退出容器
参考
https://www.runoob.com/docker/docker-tutorial.html
https://docs.halo.run/getting-started/install/other/docker-mysql
https://www.yiibai.com/docker/docker-introduction.html
https://www.jianshu.com/p/68ec752f0454