个人名片:
对人间的热爱与歌颂,可抵岁月冗长?
Github???:念舒_C.ying
CSDN主页✏️:念舒_C.ying
个人博客? :念舒_C.ying
2 容器基础
2.1 Docker镜像查找
命令查找
docker search mysql
docker官网查找
https://hub.docker.com
2.2 Docker镜像管理
拉取MySQL镜像
docker pull mysql:latest
查看本地镜像
docker images
镜像加速(阿里云)
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://x5k4h8y7.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker
Daocloud镜像站加速
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
镜像删除
docker rmi hello-world
2.3 容器管理
运行容器
-d #在后台运行
–name #命名
-i #交互式操作
-t #终端
-p #端口
-e #参数,要求大写
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
查看所有运行的容器
-a可列出运行或没有运行的容器
docker psdocker ps -a
查看该容器占有的内存等
docker stats mysql
查看该容器日志后3条
docker logs --tail 3 mysql
进入已运行的容器
docker exec -it mysql bash
启动容器
docke start mysql
停止容器(默认10秒,-t可以跟时间)
docker stop mysql
重启容器
docke restart mysql
容器自启动
no #默认值,不自动重启该容器;
on-failure #当出现异常退出时,自动重启该容器;
always #如果容器停止,则总是重启该容器。若该容器通过手动方式停止,则仅在Docker服务重启或通过手动方式启动时启动。
docker run -d --restart always --name mysql-always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=000000 mysql
容器中更换国内源,更新软件源获安装软件
mv /etc/apt/sources.list /etc/apt/sources.list.baktee /etc/apt/sources.list << EOFdeb http://mirrors.ustc.edu.cn/debian stable main contrib non-freedeb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-freeEOFapt-get updateapt-get install vim
容器删除
-f #强制删除运行中的容器。
删除多个容器用空格隔开,用容器名或者ID值都可以删除
docker rm mysqldocker rm -f mysql
删除所有已停止的容器
docker container prune
删除所有容器
docker rm -f $(docker ps -qa)
容器数据拷贝(可以互相拷贝)
cp #跟容器路径和宿主机路径
docker cp mysql:/etc/my.cnf ./docker cp ./ mysql:/etc/my.cnf
容器导出
-o #路径和文件名 容器名
docker export -o /mysql.tar mysql
镜像导入(自定义导入镜像后需要额外处理)
docker-entrypolint.sh #容器启动前的预处理
mysqld #预处理脚本的参数
docker run -d --name mysql-test -p 3307:3306 -e MYSQL_ROOT_PASSWORD=000000 mysql-test:v1.0 docker-entrypoint.sh mysqld
自定义镜像创建
-a #作者信息
-c #应用Dockerfile指令
-m #备注信息
-p #默认值true
docker commit -a "Zhao Jie" -m "mysql5.7(12.21)" mysql5.7 mysql:12.21
2.4 Docker卷与绑定挂载
卷创建
-d #指定卷的驱动名称
-o #
docker volume create [卷名]
卷列表查看
docker volume ls
卷详细查看
docker volume inspect [卷名]
卷删除
docker volume rm [卷名]
删除所有未被使用的卷
docker volume prune
卷使用
type #卷的类型
src #卷的名称
dst #卷的挂载路径
–mount --volume -v #挂载参数
docker run -d --name mysql-test --mount type=volume,src=my,dst=/var/lib/mysql -p 3310:3306 -e MYSQL_ROOT_PASSWORD=000000 mysql:5.7
期待下次的分享,别忘了三连支持博主呀~
我是 念舒_C.ying ,期待你的关注~???