一.docker使用方法
1.配置加速器
在/etc/docker/里修改daemon.json文件,修改成如下
vim /etc/docker/daemon.json
{
"registry-mirrors":[ "https://registry.docker-cn.com" ] ##docker镜像网址
}
2.镜像管理
查找镜像
[root@GGTESTNETWORK02 ~]# docker search centos
在公网下载centos 镜像
docker pull centos
查看镜像
docker images
打包镜像 可以用scp传到你的内网主机上使用
docker save centos:latest -o centos.tar
把包恢复为镜像
[root@testwql jingxiang]# docker load -i centos.tar
删除镜像
[root@testwql jingxiang]# docker rmi -f centos
修改镜像名
[root@testwql yum.repos.d]# docker tag nginx:latest mynginx(nginx:latest 原镜像名 mynginx 修改后的镜像名)
用于克隆镜像的
docker tag xxx xxx1(将什么,克隆成什么,可以当场软连接,要删一起删)
自定义镜像仓库
vi Dockerfile
FROM centos (基础镜像,基于哪个镜像创建)
MATNTAINER=”wk” (创建者信息)
EXPOSE 8080 (开放的端口)
ENV (设置变量)
ADD aa /root (把本地aa 复制到镜像内/root里)
RUN (制作镜像时执行的命令,可以有多个)
WORKDIR (定义容器默认工作路径)
CMD (容器启动时执行的命令,仅可以有一条)
想要自己建立镜像需要先创建文件目录
mkdir -p /root/dockerfile/library/centos/7
cd /root/dockerfile/library/centos/7/
在目录里创建容器里的简单执行脚本
vim docker.sh
#!/bin/bash
while true
do
echo "wk"
sleep 5
done
然后写镜像文件Dockerfile名字一定不能错
FROM centos #是基于那个镜像创建,没有的话会去公网下载
LABEL MAINTATNER="wk"#标签,创建者名字
RUN ln -sfv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime#创建之前修改时区
COPY docker.sh /home/test/#将脚本复制到镜像里的test下,路径是相对Dockerfile的文件
RUN chmod +x /home/test/docker.sh#给镜像里边的脚本加执行权限
CMD ["/home/test/docker.sh"]#执行脚本,启动容器时,必须要有一个进程在执行,要不启不 了
建立镜像
docker build -t su/centos7:1 . (注意需要在有Dockerfile的目录里输入命令)
启动容器
docker run -dit su/centos7:1 /bin/bash(可以加/bin/bash,也可以不加)
docker run -dit --name sunan su/centos7:1 (启动的时候给容器器个名字叫sunan)
-d :放在后台运行
-i:可以交互输入命令
-t:启动一个伪终端
-c:指定几个cpu来运行内存
-m:指定几个内容。
隐形参数--name 给容器起名。
看容器的日志
docker logs sunan(可以是名字,也可以是id)
3.容器管理与使用方法
查看正在运行的容器
docker ps
查看所有容器列表
docker ps –a
显示所有容器的id
docker ps –aq
启动容器
docker start xxx(可以是容器的名字,也可以是容器的id)
关闭容器
docker stop xxx(可以是容器的名字,也可以是id)
重新启动容器
docker restart xxx(可以是容器的名字,也可以是id)
查看容器进程列表
docker top xxx(可以是容器的名字,也可以是id)
查看容器底层信息
docker inspect xxx(可以是容器的名字,也可以是id)
删除容器
docker rm xxx(可以是容器的名字,也可以是id)
-f 强删
容器改名
docker rename xxx yyy(xxx原来的名字,yyy想要叫的名字)
进入容器退出时关闭容器
[root@testwql ~]# docker attach elated_babbage
进入容器退出时不关闭容器
[root@testwql ~]# docker exec -it unruffled_keller /bin/bash
【原创,转载请附带本链接】
https://www.jianshu.com/u/0bebd11f6513