docker基础操作命令

【启动、重启与停止docker】
systemctl start docker
systemctl restart docker
ststemctl stop docker
systemctl stop fireworld 关闭防火墙
run docker时遇到下载很慢,执行如下命令:
vim /etc/docker/daemon.json,写入如下
{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ]
}
重启docker systemctl restart docker 再次run即可
【获取镜像】

docker pull [Docker Registry 地址:端口号] [仓库名:标签]
docker pull ubuntu:16.04 默认从Docker Hub下载
ubuntu 仓库名 16.04标签 一个仓库会包含同一个软件不同版本的镜像,标签即对应版本

【运行容器】

docker run xxxx
docker run -i -t ubuntu:16.04 /bin/bash启动bash容器进行交互式操作,表示以ubuntu镜像为基础启动
cat /etc/os-release 查看当前系统版本
exit退出容器

【列出镜像】
docker image ls = docker images#镜像id是唯一标识,这个命令列出的是顶层镜像,若出现none,则为虚悬镜像,通常要删除
docker image ls xxx #按照名字列出部分镜像 例如docker image ls n*列出名字为n开头的镜像
docker image ls -f since=ubuntu:16.04 #列出某个镜像后建立的镜像  同理before
docker image ls -q 只列出id
docker image ls --format "{{.ID}}:{{.Repository}}" #按照模板列出镜像
【删除镜像】

docker image rm 镜像id(通常取id前三个字符)/镜像名(ubuntu:16.04)

【创建并启动容器 docker run】

docker run -i -t ubuntu:16.04 /bin/bash -t让docker分配一个伪终端并绑定到容器的标准输入上 -i让容器的标准输入保持打开
docker container start [容器id]启动已终止的容器

【查看容器】
docker container ls -a #查看所有容器及状态
docker container ls #查看在运行的容器及状态
docker ps  #意义同上
docker ps -a
【容器后台运行 -d】 (注意:容器是否会长久运行,和-d无关)
docker run -i -t ubuntu:16.04
docker run -d -i -t 

前者exit会终止容器,后者不会,容器仍在运行
docker run ubuntu:16.04 /bin/sh -c "while true;do echo hello;sleep 1;done" 会一直在当前宿主机输出hello
docker run -d ubuntu:16.04 /bin/sh -c "while true;do echo hello;sleep 1;done" 输出一串唯一id,不会把输出结果打印到宿主机,通过以下命令可以查看

【查看容器日志】

docker container logs [容器id]

【终止容器】

docker container stop [容器id]
docker container kill [容器id]
docker container ls -a 查看所有容器及状态
此外,当docker容器中指定的应用终结时,容器自动终止。例如启动的bash应用,当exit或者ctrl+d退出时,容器自动终止
docker container restart 使容器先终止再重新启动

【进入容器】

docker attach[容器id]
docker exec - it [容器id] bash
前者在进入容器后exit会导致容器终止,后者不会,推荐使用后者

【导出和导入容器】*不常用

docker export [容器id] > xxx.tar
cat xxx.tar | docker import - test/xxx:v1.0
xxx是镜像名字,test/xxx是仓库名字 v1.0是到入的镜像标签

【删除容器】

docker container rm [容器id] 删除终止状态的容器
加-f 删除运行中的容器
docker container prune 清理所有终止状态的容器

【手动定制容器】

1.原容器里做了修改后执行
docker commit [容器id] [新容器名如private/tomcat:1.0] #当前宿主机则多了这个镜像
2.使用Dockerfile,另做详述

PS:

docker run -i -t ubuntu:16.04 等同于docker run -i -t ubuntu:16.04 /bin/bash
docker container ls -a  等同于docker ps -a

docker的容器是基于ubuntu,进入容器bash后,想使用命令,需要先apt-get update 再apt-get install xxx、

你可能感兴趣的:(docker基础操作命令)