Docker 基本指令整理(一)

安装Docker

yum install docker

开机自启动

-- centos 6
service docker start
chkconfig docker on

--CentOS7 新式 systemd 语法
systemctl  start docker.service
systemctl  enable docker.service

Docker运行CentOS系统

[root@localhost ~]# docker run -i -t centos /bin/bash
[root@dbf66395436d /]#
CentOS 容器已经被启动,并且我们得到了 bash 提示符。
在 docker 命令中我们使用了 “-i 捕获标准输入输出”和 “-t 分配一个终端或控制台”选项。
若要断开与容器的连接,输入 exit。

通用指定

操作 命令 示例
查看 docker 版本 docker version docker version
查看 docker 信息 docker info docker info
查看某命令 help 信息 docker help [command] docker help attach
查看 docker help 信息 docker --help docker --help

Container相关指令

其中 可以通过 docker images 获取相关信息
操作 命令 示例
创建 container docker create docker create chenhengjie123/xwalkdriver
创建并运行 container docker run docker run chenhengjie123/xwalkdriver /bin/bash
创建并运行 container 后进入其 bash 控制台 docker run -t -i image /bin/bash docker run -t -i ubuntu /bin/bash
创建并运行 container 并让其在后台运行,并端口映射 docker run -p [port in container]:[port in physical system] -d [image] [command] docker run -p 5000:5000 -d training/webapp python app.py
查看正在运行的所有 container 信息 docker ps docker ps
查看最后创建的 container docker ps -l docker ps -l
查看所有 container ,包括正在运行和已经关闭的 docker ps -a docker ps -a
输出指定 container 的 stdout 信息(用来看 log ,效果和 tail -f 类似,会实时输出。) docker logs -f [container] docker logs -f nostalgic_morse
获取 container 指定端口映射关系 docker port [container] [port] docker port nostalgic_morse 5000
查看 container 进程列表 docker top [container] docker top nostalgic_morse
查看 container 详细信息 docker inspect [container] docker inspect nostalgic_morse
停止 continer docker stop [container] docker stop nostalgic_morse
强制停止 container docker kill [container] docker kill nostalgic_morse
启动一个已经停止的 container docker start [container] docker start nostalgic_morse
重启 container (若 container 处于关闭状态,则直接启动) docker restart [container] docker restart nostalgic_morse
删除 container docker rm [container] docker rm nostalgic_morse

imgae相关指令

操作 命令 示例
从 container 创建 image(反过来) docker commit [container] [imageName] docker commit nostalgic_morse ouruser/sinatra:v2
从 Dockerfile 创建 image docker build -t [imageName] [pathToFolder] docker build ouruser/sinatra:v3 .
查看本地所有 image docker images docker images
在 registry 中搜索镜像 docker search [query] docker search ubuntu
从 registry 中获取镜像 (若无指定 tag 名称,则默认使用 latest 这个 tag) docker pull [imageName] docker pull ubuntu:14.04, docker pull training/webapp
给 image 打 tag docker tag [imageId] [imageName] docker tag 5db5f8471261 ouruser/sinatra:devel
把本地 image 上传到 registry 中 (此时会把所有 tag 都上传上去) docker push [imageName] docker push ouruser/sinatra
删除本地 image docker rmi [image] docker rmi training/sinatra
注意:image 中没有指定 tag 名称的话默认使用 latest 这个 tag 。然而 latest 的含义和 VCS 中的 head 不一样,不是代表最新一个镜像,仅仅是代表 tag 名称为 latest 的镜像。若不存在 tag 名称为 latest 的镜像则会报错。

网络管理

--p <HOT_PORT>:<CONTAINER_PORT>:指定端口号
docker run -P:随机分配端口号
docker run -p 5010:5000:绑定特定端口号(主机的所有网络接口的5010端口均绑定容器的5000端口)
docker run -p 127.0.0.1:5000:5000:绑定主机的特定接口的端口号
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py:绑定udp端口号
docker port<CONTAINER_ID> 5000:查看容器的5000端口对应本地机器的IP和端口号

其他

docker attach <CONTAINER_ID> 连接到启动的容器
docker logs <CONTAINER_ID>  : 输出容器日志

卸载docker全部资源

列出你安装过的包
$ yum list installed | grep docker
yum list installed | grep docker
docker-engine.x86_64   1.7.1-1.el7 @/docker-engine-1.7.1-1.el7.x86_64.rpm
删除安装包
$ sudo yum -y remove docker-engine.x86_64
删除镜像/容器等
$ rm -rf /var/lib/docker






原文地址:https://www.cnblogs.com/LiuChunfu/p/8052768.html