一张图学会使用Docker - ZhangTory's NoteBlog - 张耀誉的笔记博客

一张图学会使用Docker

新手学习使用Docker,只需要一张图就可以记住常用的操作。

看图之前我们可能还需要知道其他一些概念。

什么是Docker

docker一种虚拟化技术。可以保证程序运行的环境一致,正如官网的一句话:debug your app, not your environment。
相比其他虚拟机,需要的资源更少。

常见概念

使用docker时常见的一些词汇翻译。

镜像

镜像是构建docker的基石,用户基于镜像来运行自己的容器。

容器

容器是基于镜像启动起来的,容器中可以部署我们想要的程序。

仓库

存放镜像的地方。

Dockerfile

基于基础镜像构建自己镜像的脚本,可以将自己的程序打入到基础镜像中并生成一个新的镜像。

docker-compose

docker官方提供的容器管理工具,用于多个容器互相配合的场景。

常用命令

docker.png
到此就可以结合图来理解常见的docker操作了。

查看镜像:
docker images

查看容器:
docker ps [-a]

创建容器:
docker run
-i:运行容器
-t 容器启动后进入命令行
--name:容器名,唯一。
-v:目录映射关系,宿主机目录:容器目录。
-d:会创建一个守护式容器在后台运行。
-p:端口映射,宿主机端口:容器内端口。
-e:添加环境变量。
--link:将另一台docker容器映射过来。
例子:
docker run -d
-v /root/data:/data
-p 3306:3306
-p 8080:80
-e MYSQL_ROOT_PASSWORD=123456
--name myServer
Ubuntu:20.04
/bin/bash

进入容器的命令行:
docker exec -it 容器名or容器id /bin/bash
docker exec -it 容器名or容器id bash

在容器中退出容器:
exit

停止容器:
docker stop 容器名or容器id

启动容器:
docker start 容器名or容器id

拷贝文件:
从宿主机拷贝到容器:
docker cp 宿主机文件路径 容器名or容器id:容器内路径
从容器拷贝到宿主机:
docker cp 容器名or容器id:容器内路径 宿主机文件路径

查看容器数据(id,状态,ip等,也用于查看是否有EXPOSE端口,VOLUMES目录等):
docker inspect 容器名or容器id
直接查看某项数据,如ip地址:
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名or容器id

删除容器:
docker rm 容器名or容器id

删除镜像:
docker rmi 镜像名称:标签

拉取镜像:
docker pull 镜像名:标签

将容器保存为镜像:
docker commit 容器名 镜像名

将镜像导出为文件:
-o: output/输出
docker save -o 文件名 镜像名
docker save 镜像名 > 文件名

文件恢复为镜像:
-i: input/输入
docker load -i 文件名
docker load < 文件名

私服仓库相关操作

拉取私有仓库的镜像:
docker pull registry
启动容器:
docker run -id --ame=registry -p 5000:5000 registry

配置:
vi /etc/docker/deamon.json
添加配置:
{
"insecure-registries":["192.168.31.50:5000"]
}
重启docker:
systemctl restart docker

上传本地镜像到私有仓库:
docker tag 镜像名 私有仓库地址/镜像名称
docker push 私有仓库地址/镜像名称

添加新评论

电子邮件地址不会被公开,评论内容可能需要管理员审核后显示。