您现在的位置是:网站首页> 边看边学
docker 常用命令
- 边看边学
- 2024-07-30
- 866人已阅读
Docker 1小时快速上手教程,无废话纯干货
Docker 容器和镜像之间有什么关系?
Docker 容器和镜像之间的关系可以理解为蓝图和实例的关系:
1、定义: Docker 镜像是容器的只读模板,包含了运行容器所需的代码、库、环境变量和配置文件。
2、实例化: 当 Docker 镜像运行时,它会成为一个容器,即镜像的实时、可写版本。
3、层叠构建: Docker 镜像是通过一系列的层叠构建而成,每个层代表镜像构建过程中的一个步骤。
docker pull nginx:latest 下载镜像
docker images 显示下载的镜像
docker run -d -p 81:80 nginx 运行镜像 -d是后台运行 -p是映射端口 外部端口81 内部端口80
docker ps 显示正在运行的镜像
进入运行的镜像
docker exec -it 92[这个是运行的id] bash
提示
root@92[这个是运行的id]
退出镜像容器
exit
这时候按正常的usr目录之类的操作了
cd /usr/share/nginx/html/
cat index.html
修改index.html
echo hello >index.html
再次访问chrome ctrl+F5强制刷新
退出运行的镜像 exit
强制删除运行的镜像
docker rm -f 92[这个是运行的id]
当前镜像保存
docker commit 92[这个是运行的id] m1[保存为m1]
docker commit 命令用于从一个已经运行的容器中创建一个新的镜像。这个命令并不会将镜像保存到特定的位置,而是会保存在 Docker 的本地镜像库中。
如果你想要保存镜像到一个文件,你可以使用 docker save 命令。
例如,如果你想要保存一个名为 myimage:mytag 的镜像到一个名为 myimage.tar 的文件中,你可以使用以下命令:
docker save myimage:mytag -o myimage.tar
这将会创建一个名为 myimage.tar 的文件,里面包含了 myimage:mytag 镜像的所有层及相关的元数据。
要从这个文件加载镜像,你可以使用 docker load 命令:
docker load -i myimage.tar
这将会把 myimage.tar 文件中的镜像加载到本地的 Docker 镜像库中。
查帮助 docker commit --help
提交自己的镜像
(以nginx镜像为例)
(这里提交的是到系统本地仓库)
docker pull nginx #以nginx镜像为例
docker run -itd --name mynginx nginx /bin/bash #创建一个名为mynginx的容器
docker exec -it mynginx /bin/bash #进入容器,增加一些自己的内容,比如装一个vim等
#注意:下面在mynginx:v1.0前面加的guianjun是对应到Docker Hub自己账号的公网仓库名一致,否则后面将无法推送到公网Docker Hub自己的仓库下面,如果只是推送到本地系统仓库,则可以不用加
docker commit -m "安装了vim" mynginx guianjun/mynginx:v1.0 #提交容器
docker images #查看镜像是否提交成功
docker image history guianjun/mynginx:v1.0 #查看镜像提交记
‘’
docker run -itd --name mynginx_test mynginx:v1.0
#进入容器发现已经装好vim
docker exec -it mynginx_test /bin/bash
上传自己制作的镜像到远程仓库
docker push --help
上传镜像到公网仓库
首先现在Docker Hub注册自己的账号
docker login
docker image push guianjun/mynginx:v1.0
推送成功
dockerfile编写(想当于批处理) 文件内容如下
FROM nginx #基于nginx镜像构建新镜像
ADD ~/ /usr/share/nginx/html #将当前文件copy到容器的指定html目录
运行dockerfile
docker build -t m2 . #当前dockerfile构建一个镜像
可以运行新构建的m2
docker run -d -p 100:80 m2
将镜像保存为文件
docker save m2 > 1.tar
删除镜像
docker rmi m2
加载tar文件
docker load <1.tar
这时候镜像m2再次出来
docker images 查看
运行还可以指定名字
docker run -d -p 999:80 --name mynginx m2
文件映射
docker run -d -p 999:80 -v /usr/123 :/usr/share/nginx/html -v 'pwd' :/usr/123 m2
搜索docker的镜像
docker search nginx
复制文件
sudo docker cp /Users/front/Downloads/beifen.bak MSSQL_1433:/var/opt/mssql/backup
上一篇:如何下载加密的视频地址