Docker学习笔记
Docker安装
Centos
卸载旧版
1 | sudo yum remove docker \ |
安装yum-utils和设置存储库
1 | sudo yum install -y yum-utils |
安装docker
1 | sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin |
启动docker: sudo systemctl start docker
设置开机启动docker: sudo systemctl enable docker
其他系统待补
小试牛刀
运行mysql
使用docker启动一个mysql服务,快速搭建mysql环境
1 | docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 mysql |
输出如下:
1 | [root@C20240512126438 ~]# docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 mysql |
上面是安装最新版的mysql,我测试的时候是8.x
如果要指定版本的mysql,可以这么写:
1 | docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 |
其实还可以先拉取镜像,后启动容器;下面的也是可以的。
1 | docker pull mysql:5.7 |
pull命令可以省略,run的时候如果在本地找不到镜像,就会去docker hub拉取
参数解析
-d 后台运行
–name 容器名称 必须唯一
-p 端口映射 宿主主机端口:容器端口
-e 环境变量 变量名=值
mysql:5.7 镜像名 名称:标签(版本)
常用命令
镜像操作
查看本地所有镜像:docker images
1 | [root@C20240512126438 ~]# docker images |
REPOSITORY:镜像名称
TAG: 标签 版本
IMAGE ID: 镜像ID
CREATED:创建时间
SIZE: 镜像大小
删除指定镜像: docker rmi 1d668e06f1e5
使用镜像名称也是可以的,例如:docker rmi mysql
; 如果忽略tag,默认删除latest,如果不存在latest则报错
保存(压缩)镜像:docker save -o mysql_57.tar mysql:5.7
加载(解压)镜像:docker load -i mysql_57.tar
容器操作
创建并运行容器:docker run 参数
查看所有容器:docker ps -a
查看正在运行容器:docker ps
1 | [root@C20240512126438 ~]# docker ps |
CONTAINER ID: 容器ID
IMAGE: 镜像名称
COMMAND:容器内服务器启动命令
CREATED:创建时间
STATUS: 状态 UP表示运行中
PORTS: 端口映射关系
NAMES: 容器名称
停止容器:docker stop 容器ID或容器名称
重启容器:docker restart 容器ID或容器名称
启动容器:docker start 容器ID或容器名称
删除容器:docker rm 容器ID或容器名称
加上-f
参数可以强制删除运行中的容器
查看日志:docker logs 容器ID或容器名称
加上-f
参数可实时查看日志更新
进入容器:docker exec -it 容器ID或容器名称 bash
执行命令:docker exec -it mysql mysql -uroot -p