Docker基本命令

一、镜像基本操作

1.1 查看docker版本

[root@docker ~]# docker version

1.2 查找镜像

[root@docker ~]# docker search httpd

1.3 下载镜像

[root@docker ~]# docker pull httpd

1.4 查看镜像

[root@docker ~]# docker images		# 查看镜像列表
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
httpd               latest              0a30f4c29d25        8 days ago          138MB
[root@docker ~]# docker inspect 0a30f4c29d25		# 查看该镜像httpd具体信息

1.5 对镜像添加标签

[root@docker ~]# docker tag httpd:latest httpd:web
[root@docker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
httpd               latest              0a30f4c29d25        8 days ago          138MB
httpd               web                 0a30f4c29d25        8 days ago          138MB

1.6 删除镜像

[root@docker ~]# docker rmi httpd:web	# 可用-f强制删除
Untagged: httpd:web
[root@docker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
httpd               latest              0a30f4c29d25        8 days ago          138MB

Docker删除镜像的注意点:

  1. 若存在同一个镜像对应两个标签,无法用删除ID的方法删除镜像
  2. 只有删除完一个镜像的所有标签,才会删除该镜像

批量删除

docker rmi `docker images -q`

1.7 镜像的导出

[root@docker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
httpd               latest              0a30f4c29d25        8 days ago          138MB
centos              7                   8652b9f0cb4c        12 days ago         204MB
[root@docker ~]# mkdir /docker
[root@docker ~]# docker save -o /docker/httpd httpd:latest
[root@docker ~]# ls -lh /docker/
total 135M
-rw------- 1 root root 135M Nov 26 16:12 httpd

1.8 镜像的导入

[root@docker ~]# docker load < /docker/httpd 

二、容器基本操作

2.1 创建容器

[root@docker ~]# docker create -it httpd:latest /bin/bash
d5e1e780cb302b43eabb566348316b05f71884c2b633ffe8a7265c760c2330a2
# -i:in代表输入
  -t:tty伪终端

2.2 查看容器

[root@docker ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
d5e1e780cb30        httpd:latest        "/bin/bash"         About a minute ago   Created                                 wizardly_archimedes

2.3 启动容器

[root@docker ~]# docker start d5e1e780cb30
[root@docker ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
d5e1e780cb30        httpd:latest        "/bin/bash"         5 minutes ago       Up 31 seconds       80/tcp              wizardly_archimedes
# 此时状态为up

[root@docker ~]# ifconfig
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:caff:fe6f:dc56  prefixlen 64  scopeid 0x20<link>
        ether 02:42:ca:6f:dc:56  txqueuelen 0  (Ethernet)
        RX packets 13703  bytes 556150 (543.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 15889  bytes 55852058 (53.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# 此时查看ip会多一个172.17.0.1的地址

2.4 登陆正在运行的容器

[root@docker ~]# docker exec it d5e1e780cb30 /bin/bash

2.5 停止容器

[root@docker ~]# docker stop d5e1e780cb30

# 停止所有容器
[root@docker ~]# docker stop `docker ps -q`
[root@docker ~]# docker stop $(docker ps -q)

使用 Docker stop 会造成异常退出(非0值)

2.6 创建并且运行容器

[root@docker ~]# docker run -dit httpd:latest		# docker run -it 本地不存在的镜像,直接从网络上拉取

docker run相关指令

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

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

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

-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运行;

-c 待完成

-m 待完成

–link=[] 待完成

–expose=[] 待完成

2.7 删除容器

[root@docker ~]# docker rm d5e1e780cb30

# 删除所有容器
[root@docker ~]# docker ps -a |awk '{print "docker rm "$1}'

2.8 容器的导出

[root@docker ~]# docker export b838c021dc78 > /docker/httpd-container
[root@docker ~]# ls -lh /docker/
total 267M
-rw------- 1 root root 135M Nov 26 16:21 httpd
-rw-r--r-- 1 root root 132M Nov 26 17:17 httpd-containe

2.9 容器的导入

# 会生成镜像,不会生成容器
[root@docker ~]# cat /docker/httpd-container | docker import - httpd:new
[root@docker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
httpd               new                 e72079c97ed3        3 seconds ago       134MB
httpd               latest              0a30f4c29d25        8 days ago          138MB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值