Docker学习

安装docker

1.安装gcc编译器				  
yum install -y gcc
yum install -y gcc-c++

2.清除系统自带安装的docker
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine



3.安装必须的准备环境				  
yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
  
4.获取阿里云的yum源
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
	
5.yum源加速
yum makecache fast

6.选择安装的版本
yum list docker-ce --showduplicates | sort -r

7.安装
yum -y install docker-ce-version
8.加速器配置
mkdir -p /etc/docker
vi /etc/docker/daemon.json
{"registry-mirrors":["http://hub-mirror.c.163.com"]}
9.启动docker
systemctl start docker
10.运行hello world
docker run hello-world
docker version
11.卸载docker
systemctl stop docker 
yum -y remove docker-ce
rm -rf /var/lib/docker

systemctl daemon reload
systemctl restart docker

docker --help
docker info
docker version

镜像操作命令

docker pull 镜像
docker image ls
--镜像id
docker images -aq
docker images -q redis
docker images -q -f before=mongo:3.2
--镜像摘要
docker images --digest
--镜像全信息
docker images --digest --no-trunc
--搜素tomcat
docker search tomcat
--加星级搜索
docker search -s(星级) 30 tomcat
docker search -s 30 --no-trunc tomcat
--显示ok的镜像
docker search --automated tomcat
--删除镜像
docker rmi -f hello-world:latest
docker rmi -f imageId
docker rmi -f $(docker images -aq)
docker image rm hello-world:latest

--docker导出镜像
docker save -o update1.tar update
--docker导入镜像
docker load < update1.tar

容器

--运行容器
docker run -it  --name mycentos(交互式) 镜像名
docker run -d cnetos (后台运行)
docker run -it image_id
--列出docker运行的容器
docker ps 
docker ps -a --所有
docker ps -n 3 --前三次运行的
docker ps -l --上一次运行的
docker ps -q --显示容器编号

--启动容器
docker start container_name:version
docker start container_id
--重启容器
docker restart container_name
docker restart container_id
--停止容器
docker stop container_name
docker stop container_id
--强制关
docker kill container_id
docker kill container_name
--删除容器
docker rm container_id
--删除多个容器
docker rm -f $(docker ps -a -q)

--查看日志
docker logs container_id | name
docker logs -t -f --tail 3 container_id | name 
--查看容器进程
docker top container_id
--查看容器内部细节
docker inspect container_id
--进入容器
docker attach container_id

--让容器执行命令
docker exec -t container_id /bin/bash ls -l /tmp
--进入容器
docker exec -t container_id
--拷贝文件到宿主机
docker cp container_id:/tmp/a.txt /app/

--commit制作镜像
docker commit -a="liteng" -m="tomcat without docs" container_id atli/mytomcat:1.1

容器数据卷

docker run -it -v 宿主机绝对目录:容器内目录 --privileged=true 镜像名
docker run -it -v 宿主机绝对目录:容器内目录:ro 镜像名

#volume test
FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "finished,--------------success1"
CMD /bin/bash
docker build -f /mydocker/Dockerfile -t lt/centos .

docker run -it --name doc1 lt/centos
--继承父模板的数据卷
docker run -it --name doc2 --volumes-from doc1 lt/centos

Dockerfile指令

FROM  (基于哪个镜像scratch)
MAUBTAINER --作者加作者邮箱
RUN --容器构建时需要执行的命令
EXPOSE --暴露的端口
WORKDIR --指定在创建容器后,终端默认登录的进来工作的目录,一个落脚点
ENV MY_PATH /usr/mytest--设置环境变量
ADD (拷贝加解压缩)
COPY(拷贝不解压)
VOLUMS
CMD --指定容器在工作时执行的命令,可以有多个,只有最后一个生效

ENTRYPOINT 
ONBUILD


FROM scratch
MAINTAINER The CentOS Project <cloud-ops@centos.org>
ADD c68-docker.tar.xz /
LABEL name="CentOS Base Image" \
    vendor="CentOS" \
    license="GPLv2" \
    build-date="2016-06-02"
CMD ["/bin/bash"]


FROM centos
MAINTAINER liteng@qq.com
ENV mypath /tmp
WORKDIR $mypath
RUN yum -y install vim net-tools
EXPOSE 80
CMD echo $mypath
CMD echo "success-----------------ok"
CMD /bin/bash
--查看修改的镜像历史
docker history image_id

--安装tomcat
FROM centos
MAINTAINER liteng@qq.com
COPY  C.txt /user/local/cincontainer.txt
ADD jdk-8u171-linux-x64.tar.gz /usr/local
ADD apache-tocmat-9.0.8.tar.gz /usr/local
RUN yum -y install net-tools
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_171
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apche-tomcat-9.0.8
ENV CATALINA_BASE /usr/local/apache-tocmat-9.0.8
ENV PATH $PATH:$JAVA_HOME/bin/:$CATALINA_HOME/lib:$CATALINA_HOME/bin/
EXPOSE 8080
CMD sh /usr/local/apache-tocmat-9.0.8/bin/startup.sh && tail -f /usr/local/apache-tocmat-9.0.8/logs/catalina.out
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值