Docker 笔记

整合 Docker
阅读数: 984 2020年07月26日

1、安装好 Docker ,记得启动,否则无法使用:

# systemctl start docker

#设置开机自动启动
# systemctl enable docker


2、国外完整被墙的原因,国外的 Docker 仓库可能无法正常访问,增加国内仓库源:

# vim /etc/docker/daemon.json
新增:
{
    "registry-mirrors" : ["https://registry.docker-cn.com"]
}

#然后重启 docker 
# systemctl restart docker


3、常用命令(https://www.runoob.com/docker/docker-command-manual.html)

#交互方式启动容器
docker run
	-i: 以交互模式运行容器,通常与 -t 同时使用;
	-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
	--name="nginx-lb": 为容器指定一个名称;

#查看容器状态
docker ps
	-a :显示所有的容器,包括未运行的。
	-l :显示最近创建的容器。

#查看容器信息
docker inspect 容器名称/ID 

#杀掉一个运行中的容器。
docker kill
	-s :向容器发送一个信号

#启动一个或多个已经被停止的容器
docker start [OPTIONS] CONTAINER [CONTAINER...]

#停止一个运行中的容器
docker stop [OPTIONS] CONTAINER [CONTAINER...]

#重启容器
docker restart [OPTIONS] CONTAINER [CONTAINER...]

#删除停止的容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]


4、守护式容器

# 交互容器运行
docker run -i -t IMAGE /bin/bash 
#变成守护式容器
#通过 Ctrl+P Ctrl+Q 退出 bash,进入后台运行
#再次进入交互式容器
docker attach ID/NAME
#eixt 关闭交互式容器


#启动守护式容器
docker run --name=dc1 -d php

#查看守护式容器信息:通过查看容器日志
docker logs [OPTIONS] CONTAINER
	-f : 跟踪日志输出
	--since :显示某个开始时间的所有日志
	-t : 显示时间戳
	--tail=1|all	:仅列出最新N条容器日志
	
#在运行中的容器内启动新进程
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
	-d :守护式: 在后台运行
	-i :即使没有附加也保持STDIN 打开
	-t :分配一个伪终端
	

#停止守护式容器
docker stop NAME  (发信号给容器)
docker kill NAME  (直接停止容器,杀掉一个运行中的容器)
#查看本地 docker 信息
docker info 

#查看镜像
docker images [OPTIONS] [REPOSITORY[:TAG]]
-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
--digests :显示镜像的摘要信息;
-f :显示满足条件的镜像;
--format :指定返回值的模板文件;
--no-trunc :显示完整的镜像信息;
-q :只显示镜像ID。

docker images 查看已安装的镜像

repository 仓库
registry 仓库存储服务

仓库名:TAG = 镜像名

#查看镜像详细信息
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
此命令也可查看容器信息

#删除镜像
docker rmi [OPTIONS] IMAGE [IMAGE...]

#删除 ubuntu 仓库所有镜像
docker rmi $(docker images -q ubuntu)


搜索、下载、推送镜像

#搜索镜像
docker search [OPTIONS] TERM
	--automated :只列出自动构建类型的镜像;
	--no-trunc :显示完整的镜像描述;
	-s :列出 star 数不小于指定值的镜像。
	
#下载镜像
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
	-a :拉取所有 tagged 镜像
	--disable-content-trust :忽略镜像的校验,默认开启
	
#修改仓库存储服务地址,加快安装,避免被墙
使用 --registry-mirror 选项
1、修改 /etc/default/docker
2、添加 DOCKER_OPTS = "--registry-mirror=http://f1361db2.m.daocloud.io"
3、重启容器服务 service docker restart

#将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
docker push [OPTIONS] NAME[:TAG]
	--disable-content-trust :忽略镜像的校验,默认开启


构建镜像

#从容器创建一个新的镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
	-a :提交的镜像作者;
	-c :使用Dockerfile指令来创建镜像;
	-m :提交时的说明文字;
	-p :在commit时,将容器暂停。


#通过 Dockerfile 构建镜像
docker build 通过 Dockerfile 文件构建


技巧

#进入容器里面
docker exec -i -t 容器名 /bin/bash



参考资料
https://blog.csdn.net/jiangyu1013/article/details/84339469
https://www.runoob.com/docker/docker-command-manual.html
phpriji.cn | 网站地图 | 沪ICP备17015433号-1