文章目录
1、docker安装
1.1、Windows安装
官网下载安装docker。
安装完成后,
C:\Users\HTL\AppData\Local\Docker\wsl
查看wsl列表
wsl --list -v --all
关闭wsl
wsl --shutdown
导出到指定目录(D:\img 是我的指定目录)
wsl --export docker-desktop D:\img\docker-desktop.tar
wsl --export docker-desktop-data D:\img\docker-desktop-data.tar
注销
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
设置新位置
wsl --import docker-desktop D:\green\docker_img\docker-desktop D:\img\docker-desktop.tar --version 2
wsl --import docker-desktop-data D:\green\docker_img\docker-desktop-data D:\img\docker-desktop-data.tar --version 2
启动WSL服务
net start LxssManager
再打开docker
cmd运行mysql镜像,启动mysql实例
docker run -p 4406:3306 -e MYSQL_ROOT_PASSWORD="123456" -d mysql:latest
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口。
MYSQL_ROOT_PASSWORD
123456
用下面命令查看所有容器(包括停止的容器)。————>查看mysql是否启动
docker ps -a
修改阿里镜像
{
"registry-mirrors" : [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://cr.console.aliyun.com",
"https://mirror.ccs.tencentyun.com"
],
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"features": {
"buildkit": true
}
}
1.2、Ubuntu安装
更新软件包索引
sudo apt-get update
apt安装docker
apt -y install docker
查看是否安装成功:
# 查看docker版本
docker --version
2、查看所有容器
sudo docker ps -a
CONTAINER ID:容器ID(实例ID)
IMAGE:使用的镜像
COMMAND:启动容器时运行的命令
CREATED:容器的创建时间
STATUS:容器状态。(有7种)
1、created(已创建)
2、restarting(重启中)
3、running(运行中)
4、removing(迁移中)
5、paused(暂停)
6、exited(停止)
7、dead(死亡)
PORTS:容器的端口信息和使用的连接类型
NAMES:自动分配的容器名称
3、查看本地镜像
sudo docker images
REPOSITORY:仓库
TAG:标签
IMAGE ID:镜像id
CREATED:创建时间
SIZE:大小
4、下载镜像
sudo docker pull 镜像名字
5、运行一个容器
docker run --privileged=true 镜像名字 -v 宿主机文件夹:容器需共享的文件夹 --name 容器名字 -p 主机(宿主)端口:容器端口
–privileged=true参数,让容器拥有真正的 root 权限
6、进入容器实例
sudo docker exec -it 3bac8e05792e /bin/bash
3bac8e05792e:实例id
7、停止容器
docker stop [CONTAINER ID(实例id)]
8、启动容器
docker start [CONTAINER ID(实例id)]
9、删除容器
docker rm [CONTAINER ID(实例id)]
10、docker容器内文件上传与下载
a、上传
docker cp 宿主机要上传的文件路径 containerId(containerName):拷贝到的容器路径
举例:docker cp /user/bin/mysqld.cnf mysql:5.7:/etc/mysql/mysql.conf.d/
b、下载
docker cp containerId(containerName):容器内要拷贝的文件或文件夹路径 拷贝到宿主机的目标路径
举例:docker cp mysql:5.7:/etc/mysql/mysql.conf.d/mysqld.cnf /var
11、docker镜像导出与导入(使用 save 和 load)
# 导出 docker save 镜像id > 打包名.tar
# 如将 镜像id:0fdf2b4c26d3 打包成 mysql5.7.tar
docker save 0fdf2b4c26d3 > mysql5.7.tar
# 同时将多个 image 打包成一个文件,比如下面将镜像库中的 postgres 和 mongo 打包成 images.tar
docker save -o images.tar postgres:9.6 mongo:3.4
# 导入
docker load < mysql5.7.tar