docker入门
上一次记录了一下docker在ubuntu中的安装。现在记录一些基本的入门命令。
- 查看的docker的基本信息,同时确认功能是否正常。
% sudo docker info
Containers: 3
Images: 7
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 13
Execution Driver: native-0.2
Kernel Version: 3.13.0-53-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 4
Total Memory: 5.684 GiB
Name: Aspire-4750
ID:4ELS:UB7J:UFMI:LUCX:J2YT:3VFM:VZHR:2R44:NZXF:AD2X:M4K4:LROG
WARNING: No swap limit support
该命令会返回容器和镜像的数量、Docker使用的执行驱动和存储驱动,已经一写基本配置。
2. 运行docker容器镜像
sudo docker run -i -t ubuntu /bin/bash
该命令是运行一个docker的镜像,如果本地没有ubuntu进行,docker会自动从Docker Hub Registry下载并运行。
说一下基本的参数 -i 是保证容器中的STDIN是开启的,-t是docker要为容器分配一个伪tty终端。这两个参数是保证我们通过终端和容器交互。
参数/bin/bash是执行容器中的/bin/bash命令,出现类似下面的东西,就表明已经进入容器了
root@5c2c9511cfec:/#
进入docker容器后,操作跟宿主机其实无异,大家可以随意输入一些命令尝试一下,如:
% ps aux
% ip a
当然你也可以在容器中安装一些软件,比如安装一个vim
% sudo apt-get install vim
退出容器也很简单,输入exit命令即可
root@46f4fcca68e1:/# exit
exit
容器也会停止运行。
3. 查看运行的容器
% sudo docker ps
该命令可查正在运行的容器,加上参数-a可查看当前系统中的容器列表。
其中输入的信息中包含一栏NAMES
表示的容器的别名,同CONTAINER ID
一样代表唯一的容器。
4. 容器命名
在启动容器时如果不使用--name cantainer_name
容器会生成一个随机的name,可以使用一下命令来显示指定容器的名称
% sudo docker run --name name_test_ubuntu -i -t ubuntu /bin/bash
当然容器的names
是不可重复的。命名规则[a-zA-Z0-9.-_]
5. 其他命令(简单明了)
启动/停止容器
% sudo docker start container_name|container_id
% sudo docker stop container_name|container_id
命令行链接到容器终端
% sudo docker attach container_name|container_id
守护式进程启动
% sudo docker run -d ubuntu /bin/bash -c "while true; do echo hello world; sleep 1; done"
-d
参数指定为后台(守护式)启动查看容器的日志
% sudo docker logs e7fa2acd798e hello world hello world hello world
hello world
就是上一个命令执行echo
打印的日志
当然sudo docker logs
命令也可以使用参数,类似linux命令如:
sudo docker logs -f e7fa2acd798e
,如果动态查看日志最新几 行使用% sudo docker logs --tail 3 -f eb81ef4bc045
查看容器内部进程
% sudo docker top eb81ef4bc045
设置容器自动重启
% sudo docker run --restart=always -d ubuntu /bin/bash -c "while true; do echo hello world; sleep 1; done"
查看更详细的容器信息
% sudo docker inspect eb81ef4bc045
删除容器
% sudo docker rm eb81ef4bc045
- 删除全部容器
% sudo docker rm
docker ps -a -q