|
docker 基本命令格式:
Usage: docker [OPTIONS] COMMAND [arg...]
搜索镜像
docker search [OPTIONS] TERM
# docker search ubuntu
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/ubuntu Ubuntu is a Debian-based Linux operating s... 6518 [OK]
docker.io docker.io/dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openssh-server and NoVNC 128 [OK]
docker.io docker.io/rastasheep/ubuntu-sshd Dockerized SSH service, built on top of of... 98 [OK]
docker.io docker.io/ansible/ubuntu14.04-ansible Ubuntu 14.04 LTS with ansible 86 [OK]
docker.io docker.io/ubuntu-upstart Upstart is an event-based replacement for ... 77 [OK]
docker.io docker.io/neurodebian NeuroDebian provides neuroscience research... 38 [OK]
docker.io docker.io/ubuntu-debootstrap debootstrap --variant=minbase --components... 30 [OK]
docker.io docker.io/nuagebec/ubuntu Simple always updated Ubuntu docker images... 22 [OK]
docker.io docker.io/tutum/ubuntu Simple Ubuntu docker images with SSH access 18
docker.io docker.io/1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 13 [OK]
docker.io docker.io/ppc64le/ubuntu Ubuntu is a Debian-based Linux operating s... 10
docker.io docker.io/aarch64/ubuntu Ubuntu is a Debian-based Linux operating s... 9
docker.io docker.io/i386/ubuntu Ubuntu is a Debian-based Linux operating s... 8
docker.io docker.io/codenvy/ubuntu_jdk8 Ubuntu, JDK8, Maven 3, git, curl, nmap, mc... 3 [OK]
下载镜像
Usage: docker pull [OPTIONS] NAME[:TAG|@DIGEST]
例:
# docker pull ubuntu:latest
注:设置latest后是下载最新版本,也可指定使用版本如:ubuntu:15.10、ubuntu:14.04
镜像中的名称中,在“/” 之前指定用户名即可下载指定用户上传的镜像,如“pyrasis/ubuntu”,而官方的镜像不会出现用户名
查看已下载的镜像
# docker images
创建容器
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
如
# docker run -i -t --name test ubuntu:15.10 /bin/bash
root@7173c362e465:/# 注:容器是基于镜像创建的。
使用-i(interaction)和-t(Pseudo-tty)选项可以在运行的Bash shell中进行输入与输出操作。
使用--name 选项可以指定新建的容器名称,假若不指定则Docker会自动生成一个名称。
由上图可以看到我们已经创建了一个名称为test的ubuntu容器,并且已经在Bash shell中,可以使用cd、ls查看容器内部,从中可以发现其与主机OS的不同。
新建的ubuntu容器中还没安装大部分软件包,所以无法使用ifconfig 和ping,所以在容器里执行
# apt-get update
# apt install net-tools # ifconfig
# apt install iputils-ping # pingroot@7173c362e465:/# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 02:42:ac:11:00:0a
inet addr:172.17.0.10 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::42:acff:fe11:a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:648 (648.0 B)
root@7173c362e465:/# ping www.baidu.com
PING www.a.shifen.com (180.149.131.98) 56(84) bytes of data.
64 bytes from 180.149.131.98: icmp_seq=1 ttl=50 time=37.0 ms
64 bytes from 180.149.131.98: icmp_seq=2 ttl=50 time=37.1 ms
64 bytes from 180.149.131.98: icmp_seq=3 ttl=50 time=37.0 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 37.003/37.077/37.136/0.229 ms 使用exit即可退出容器。
查看容器列表
Usage: docker ps [OPTIONS]
例:
# docker ps -a #列出所用的容器
# docker ps #列出运行的容器
使用start启动容器和restart重启容器以及stop停止容器
例:
# docker start test
# docker restart test
# docker stop test 注:可以使用容器标签(CONTAINER ID)来代表名称
连接容器
Usage: docker attach [OPTIONS] CONTAINER
例:
# docker attch test 注:执行命令后要再enter一次才显示Bash shell.
从外部运行容器内部的命令
Usage:docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
例:
# docker exec test echo "hello world"
hello world
删除容器和镜像
docker rm test#删除容器,需停止test
docker rmi ubuntu:15.10 #删除镜像,假若无标签则无视标签,所有名称带ubuntu都会被删除
|
|
|