MENU

Docker中一些常用命令

2021 年 05 月 11 日 • 阅读: 282 • Centos,服务器相关,技术文章

1.启动docker

systemctl start docker.service

2.登录docker-hub

docker login

3.提交仓库

docker tag [镜像名称]:[镜像版本号]

如:docker tag centos:7

4.上传

docker push [镜像名称]:[镜像版本号]

5.查看镜像

docker search [镜像名称]:[镜像版本号]

6.拉取镜像

docker pull 镜像名称:版本号

如:docker pull centos:7

7.查看本地镜像

docker images

8.删除镜像

docker rmi [镜像名称]

9.列出容器

docker ps [OPTIONS]

OPTIONS说明:

-a :显示所有的容器,包括未运行的。

-f :根据条件过滤显示的内容。

--format :指定返回值的模板文件。

-l :显示最近创建的容器。

-n :列出最近创建的n个容器。

--no-trunc :不截断输出。

-q :静默模式,只显示容器编号。

-s :显示总的文件大小

如果不带OPTIONS则列出所有在运行的容器信息

10.创建容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS说明:

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-P: 随机端口映射,容器内部端口随机映射到主机的端口

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="nginx-lb": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "mars": 指定容器的hostname;

-e username="ritchie": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

--volume , -v: 绑定一个卷

如: docker run -it -p 80:80 -p 443:443 -p 10022:22 --name 2free centos

11.在运行的容器中执行命令

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

OPTIONS说明:

-d :分离模式: 在后台运行

-i :即使没有附加也保持STDIN 打开

-t :分配一个伪终端

如: docker exec -it 2free /bin/bash

12.从容器创建一个新的镜像(复制镜像)

docker commit [容器名字] [包名字]:tag

如: docker commit 2free 2free:tag
从复制的镜像中创建 如: docker run --name oreo -p 80:80 2free:tag

PS: 其他说明

推送镜像的规范是:

docker push 注册用户名(HUB上的)/镜像名

tag命令修改为规范的镜像:

docker tag 镜像名称:TAG 新的名称

如:docker tag centos:7 2free/centos

推送到HUB

docker push 镜像名称:版本

如: docker push 2free/centos:latest

推送容器也是同理

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。

docker commit -a "提交者" -m "说明" -p 容器ID 远程HUB帐号/地址:新命名

如:

docker commit -a "emran519" -m "宝塔面板整合Nginx、PHP7.4、Mysql5.7,redis服务" -p 容器ID emran519/centos7:bt_panel

最后再push 下即可;

最后编辑于: 2021 年 05 月 13 日
返回文章列表 文章二维码
本页链接的二维码
打赏二维码