Docker 从入门到弃坑

 清理低版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

安装docker
sudo yum install docker-ce

sudo systemctl start docker

设置国内镜像
nano /etc/docker/daemon.json 
{
"registry-mirrors": ["https://1ddp1jlwj0.mirror.aliyuncs.com"]
#阿里云为每个账户个人地址 自己可以登录查看自己的 dev.aliyun.com
}
sudo systemctl daemon-reload
sudo systemctl restart docker


帮助命令
docker version
docker info
docker --help

镜像命令
docker images	 -a:全部 -qa:ID --digests:显示镜像的摘要信息 --no-trunc:显示完整的镜像信息
docker search	某个xxx镜像的名字 -s:点赞数
docker pull	某个xxx镜像的名字
docker rmi	某个镜像的ID -f:强制删除  $(docker images -qa):全部删除

镜像容器
docker run [options] image [commang] [arg..]
options:
--name="容器新名字":为容器指定一个名称;
-d:后台运行容器,并返回容器ID,即启动守护容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪终端,通常与-i同时使用;
-P:随机端口映射;
-p:指定端口映射 80:81

exit 退出并关闭
ctrl+P+Q 退出不关闭
docker start	容器id 
docker restart	容器id 
docker stop	容器id 
docker kill	容器id 强制停止

docker ps [options]	查看运行中的容器
-a:列出所有正在运行的+历史运行的
-l:上一次运行的
-n:显示最近n个创建的容器
-q:只显示容器编号
--no-trunc:不截断输出

docker rm   删除已经停止的容器 加上-f为强制删除
docker rm $(docker ps -a -q) 批量删除 



docker run -d   守护式启动
docker logs -f -t --tail  容器ID   日志
docker run --name xxx -d xx /bin/sh -c "while true;do echo ok;sleep 2;done"


docker top 容器id 查看容器里的进程
docker inspect 容器id 查看容器内部结构
docker attach 容器id 重新进入容器交互
docker exec -t 容器id  xxxx   到某个容器执行xxx
docker cp 容器id:/xx  /xx 把容器里的数据拷贝到xx

重新包装容器
docker commit -m="描述" -a="作者" 容器ID  要创建的名字:标签

容器数据卷
docker run -it -v /宿主机绝对路径:/容器内目录 镜像名 
docker run -it -v /宿主机绝对路径:/容器内目录:ro 镜像名 只读
--privileged=true 没权限时加
--volumes-from 容器名

dockerfile
docker build -f /xxx.dockerfi -t zzz/

FROM centos
VOLUME["/","/"]
CMD echo "finished"
CMD /bin/bash

dockerfile 指令
FROM	基础镜像基于哪个镜像
MAINTAINER	镜像作者信息
RUN	容器构建需要的命令
EXPOSE	容器创建对外的服务号
WORKDIR	工作目录
ENV	设置环境变量
ADD	拷贝带解压
COPY	拷贝不解压
VOLUME	容器卷
CMD	指定启动时的命令 多个只生效一个
ENTRYPOINT	指定启动时的命令 可以执行多个
ONBUILD	 被继承的运行命令

##############################
FROM centos
ENV path /tmp
WORKDIR $path

RUN yum -y install nano
RUN yum -y install net-tools

EXPOSE 80
CMD /bin/bash
#################################
docker build -f xxx -t mycentos:1.3 .

docker login --username=
docker tag 镜像ID  名:版本
docker push 名:版本

  

猜你喜欢

转载自www.cnblogs.com/ruralcraftsman/p/11963777.html
今日推荐