【Docker系列】容器基础、Docker镜像管理

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

个人名片
对人间的热爱与歌颂可抵岁月冗长🌞
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/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://x5k4h8y7.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo 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 ps
docker 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.bak

tee /etc/apt/sources.list << EOF
deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free
deb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free
EOF

apt-get update
apt-get install vim

容器删除

-f #强制删除运行中的容器。
删除多个容器用空格隔开用容器名或者ID值都可以删除

docker rm mysql
docker 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 期待你的关注~💪💪💪

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Docker