一、Docker 基础命令
1、启动 docker
systemctl start docker
2、关闭 docker
systemctl stop docker
8 docker 帮助命令
如果忘记了某些命令,可以输入如下命令:
docker --help
二、Docker 镜像命令
1、查看服务器中 docker 镜像列表
docker images
或
docker image ls
2、查看镜像、容器、数据卷所占用的空间:
docker system df
3、搜索镜像
docker search [镜像名]
如可以输入这样的命令:docker search mysql
4、拉取镜像(从 Docker 镜像仓库拉取镜像)
不加 tag版本号,默认拉取 docker 仓库中该镜像的最新版本,相当于命令 docker pull [镜像名]:latest
docker pull [镜像名]
docker pull [镜像名]:tag
docker run [镜像名]:tag
用 Ctrl+c 退出。
下面用实例解释:几个参数:
# -it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。
# 这里打算进入 bash 执行一些命令并查看返回结果,因此需要交互式终端。
# bash:放在镜像名后的是命令,这里希望有个交互式 Shell,因此用的是 bash。
docker run -it --rm ubuntu:18.04 bash
6、删除镜像
当前镜像没有被任何容器使用才可以删除。
docker rmi -f 镜像名/镜像ID
7、保存镜像
将我们的镜像保存为 tar 压缩文件,方便镜像转移和保存,可以在任何一台安装了 docker 的服务器上加载这个镜像。
docker save 镜像名/镜像ID -o 镜像要保存的位置和名字
如:docker save tomcat -o /myTomcatimg.tar
8、加载镜像
任何装 docker 的地方加载镜像保存文件,使其恢复为一个镜像。
docker load -i 镜像保存文件位置
三、Docker 容器命令
1、查看正在运行的容器列表
docker ps
# 或
docker container ls
2、查看所有容器
所有正在运行的和停止运行的。
docker ps -a
3、运行容器
# -it:表示与容器进行交互式启动
# -d:表示可后台运行容器(守护式运行)
# --name:要给运行的容器起的名字
# /bin/bash:交互路径
docker run -it -d --name 要取的别名 镜像名:tag /bin/bash
# 3.4、停止容器
docker stop 容器名/容器ID
如:停止前面运行的mysql 容器,命令:docker stop mysql001:
4、删除容器
可以添加 -f 参数,Docker 会发送 SIGKILL 信号给容器。
删除一个容器
docker rm -f 容器名/容器ID
5、容器端口与服务器端口映射
-p 宿主机端口:容器端口
例如:使用mysql镜像,可以3306 端口映射到服务器的 3307端口,如果成功的话,那么访问服务器的 3307 端口,就会访问到 docker 中的容器 mysql。命令:
docker run -itd --name mysql001 -p 3307:3306 mysql:6.4 /bin/bash
-p 3307:3306 解析:将容器内部的 3306 端口与 docker 宿主机(docker 安装在哪台服务器,哪台服务器就是宿主机)3307 端口进行映射,那通过外部访问宿主机 3307 端口,即可访问到 docker 容器 3306 端口了。
6、进入容器
当 -i -t 参数一起使用时,可以熟悉的 Linux 命令提示符。
docker exec -it 容器名/容器ID /bin/bash
如进入前面的 mysql001 容器,就可以输入命令 docker exec -it mysql001 /bin/bash。
7、从容器退出到服务器
直接退出
exit
8、启动容器
docker start 容器名/容器ID
11、容器文件拷贝
无论容器是否开启都可以进行拷贝。
docker cp 容器ID/名称:文件路径 要拷贝到外部的路径 | 要拷贝到外部的路径 容器ID/名称:文件路径
13、设置开机自动启动容器
启动容器时,使用 docker run 命令时,添加参数 --restart=always 便表示该容器随 docker 服务启动而自动启动。
docker run -itd --name mysql -p 3307:3306 --restart=always mysql:6.4 /bin/bash
14、挂载
数据挂载:简单来讲,就是将容器内的数据与外部宿主机文件绑定起来,类似一个双持久化,当容器删除时,宿主机文件数据目录仍在,下次启动容器只要将数据目录指向宿主机数据所在位置即可恢复。
-v 宿主机文件存储位置:容器内文件位置
-v 命令可以多次使用,即一个容器可以同时挂载多个文件。
-v 宿主机文件存储位置:容器内文件位置 -v 宿主机文件存储位置:容器内文件位置 -v 宿主机文件存储位置:容器内文件位置
16、导出和导入
16.1导出容器,将导出容器快照到本地文件
如果要导出本地某个容器,使用 docker export 命令。
docker container ls -a
docker export ddfc038b5dc2 > ubuntu.tar
16.2导入容器快照
可以使用 docker import 从容器快照文件中再导入为镜像。
cat ubuntu.tar | docker import - test/ubuntu:v1.0
docker image ls
前面使用过 docker load 来导入镜像存储文件到本地镜像库,同样也可以使用 docker import 来导入一个容器快照到本地镜像库;但是两者有区别。
17、在容器和主机之间复制文件/文件夹
从容器里面拷文件到宿主机
docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径
docker cp mysql:/opt/cdc.txt /home/
从宿主机拷文件到容器里面
docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径;如果拷贝的内容有重复,会直接覆盖,不会询问。
docker cp /home/ccc.txt mysql:/opt/
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/29466.html