记录一下折腾Docker时用到的一些常用命令

Docker

安装

apt-get update && apt-get install -y docker.io
或者

curl -sSL https://get.daocloud.io/docker | sh
service docker start

换源

vi /etc/docker/daemon.json
键入以下内容并保存

{
    "registry-mirrors" : [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://cr.console.aliyun.com",
    "https://mirror.ccs.tencentyun.com"
  ]
}
systemctl daemon-reload
systemctl restart docker.service

查看镜像

docker images

搜索镜像

docker search 镜像名

拉取镜像

docker pull 镜像名
docker pull 镜像名:Tag

删除镜像

docker rmi -f 镜像名
docker rmi -f 镜像ID

保存镜像

docker save 镜像名/镜像ID -o 保存位置和名字

加载镜像

docker load -i 镜像位置

查看容器

docker ps #正在运行的容器
docker ps -a #所有容器

创建容器

docker run -it -d --name 别名 -p 宿主机端口:容器端口 -v 宿主机路径:容器路径 镜像名:Tag /bin/bash

-it: 交互式启动
-d: 可后台运行
--name: 别名
-p: 将端口映射到宿主机, 前面的是宿主机端口, 后面的是容器端口
-v: 将文件夹挂载到容器, 前面的是宿主机路径, 后面的事容器路径
/bin/bash: 交互路径

--restart: 重启策略, 可选参数: no, no-failure, on-failure:3, always, unless-stopped
    no: 容器退出时不重启
    on-failure: 容器非正常退出时才重启
    on-failure:3: 容器非正常退出时才重启, 最多3次
    always: 总是重启
    unless-stopped: 容器退出时总是重启容器, 但是不考虑先前已经被停止的

停止容器

docker stop 容器名/容器ID

删除容器

docker rm -f 容器名/容器ID
docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID
docker rm -f $(docker ps -aq)

连接容器

docker attach 容器名/容器ID

修改参数

docker container update --restart=always

在容器中执行命令

docker exec -it 容器名/容器ID /bin/bash