Docker笔记

98 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

docker安装步骤

1、查看内核版本,docker安装要求内核大于3.10

    uname -r

2、切换到root用户,并更新yum命令

    su

    yun update

3、卸载旧版本(如果有)

    yum remove docer docker-common docker-selinux docker-engine

4、安装工具包

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

5、配置阿里镜像源

    yum-config-manager --add-repo mirrors.aliyun.com/docker-ce/l…

6、安装docker

    yum install -y docker-ce

7、配置docker开机启动

    systemctl enable docker

    systemctl start docker

8、验证docker是否安装成功

    docker version

9、docker HelloWorld测试

    docker run hello-world

10、配置阿里docker镜像仓库

    创建文件 touch /etc/docker/daemon.json

    写入内容 {    "registry-mirrors": ["kg2l9vio.mirror.aliyuncs.com"] }

    然后运行 systemctl daemon-reload systemctl restart docker

11、docker基本命令

    启动docker systemctl start docker

    关闭docker systemctl stop docker

    重启docker systemctl restart docker

    开机启动docker systemctl enable docker 

    查看docker信息 docker info 

    查看docker帮助 docker --help

    查看docker版本 docker version

    列出本机的所有镜像 docker images

    从镜像仓库搜索镜像  docker search image_name

    拉取镜像 docker pull image_name:[tag]

    删除镜像 docker rmi -f image_name

    删除全部镜像  docker rmi -f $(docker images -qa)

    以交互式启动一个镜像容器 docker run -it --name name image_id 或者iamge:tag 

    直接退出并关闭容器 exit

    退出容器终端 ctrl+p+q

    查看启动的容器  docker ps 

    进入容器 docker attach containerId

    启动容器 docker start containerId

    重启容器 docker restart containerId

    关闭容器 docker stop containerId

    删除容器 docker rm -f containerId

    在后台启动一个容器 docker run -id --name name iamgeId

    运行容器中的命令但不进入容器 docker exec -it containerId command

    交互式进入容器 docker exec -it contaierId bash

    容器与主机间文件的复制 docker cp localPath  containerId:containerPath

    查看容器日志 docker logs containerId

    查看容器进程 docker top containerId

    启动配置端口映射  docker run -it -p local_post:container_port imageId

    将容器保存为镜像 docker commit -a zhanghongkai -m 测试镜像 containerId imageName:tag

    登录docker hub docker login zhanghongkai 105473nolove

    推送镜像到hub docker push imageId:tag

    推送镜像到阿里云 

    1. 登录阿里云Docker Registry

$ sudo docker login --username=妖梅比斯 registry.cn-hangzhou.aliyuncs.com

用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。

您可以在访问凭证页面修改凭证密码。

2. 从Registry中拉取镜像

    $ sudo docker pull registry.cn-hangzhou.aliyuncs.com/zhk_tomcat/tomcat:[镜像版本号]

3. 将镜像推送到Registry

$ sudo docker login --username=妖梅比斯 registry.cn-hangzhou.aliyuncs.com

$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/zhk_tomcat/tomcat:[镜像版本号]

$ sudo docker push registry.cn-hangzhou.aliyuncs.com/zhk_tomcat/tomcat:[镜像版本号]

    容器目录挂载:docker run -id -v 主机目录:容器目录 imageId

    查看容器元信息:docker inspect containerId

    镜像备份:docker save -o 备份名.tar imageName:tag

    镜像恢复:docker -local -i 备份名.tar

    查看桥接网络:docker network ls

    创建桥接网络:docker network create -d bridge bridgename

    运行容器并制定桥接网络:docker run -d --network bridgename imageId

    删除桥接网络:docker network rm bridgename

12、dockerFile

    FROM image_name:tag

    LABEL 声明镜像元信息,多行后加/

    MATAINER 作者信息

    RUN 执行命令

    ADD localFile containerFile(可自动解压)

    COPY localFile containerFile(不会自动解压)

    ENV 设置环境变量

    WORKDIR 设置工作目录

    VOLUME 配置挂载目录

    EXPOSE 开放端口

    CMD 启动时运行指令

    ONBUILD 子镜像创建时才执行

13、使用dockerFile创建镜像

    docker build -f dockerFile -t image_name:tag .

14、使用dockerFile创建tomcat

    FROM centos:7

    

    MAINTAINER zhanghongkai1054733797@qq.com

    

    LABEL name="mytomcat" \

     build-date="2020-04-02"

    

    COPY tomcat.DockerFile /home/tomcat.DockerFile

    

    ADD jdk-8u241-linux-x64.tar.gz /home/

    

    ADD apache-tomcat-8.5.53.tar.gz /home/

    

    ENV WORKPATH /home/apache-tomcat-8.5.53

    

    WORKDIR $WORKPATH

    

    ENV JAVA_HOME /home/jdk1.8.0_241

    ENV CLASSPATH JAVAHOME/lib/dt.jar:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

    ENV CATALINA_HOME /home/apache-tomcat-8.5.53

    ENV CATALINA_BASE /home/apache-tomcat-8.5.53

    ENV PATH PATH:PATH:JAVA_HOME/bin:CATALINAHOME/lib:CATALINA_HOME/lib:CATALINA_HOME/bin

    

    EXPOSE 8080

    

    CMD ["/home/apache-tomcat-8.5.53/bin/catalina.sh","run"]

15、创建私有仓库

    docker pull registry

    docker run -id --name myregistry -p 5000:5000 registry

    192.168.159.128:5000/v2/_catalog

    修改/etc/docker/deamon.json,添加私有仓库地址

    {

        "registry-mirrors": ["kg2l9vio.mirror.aliyuncs.com"],

        "insecure-registries":["192.168.159.128:5000"]

    }

    重启docker:systemctl restart dfocker

    打包镜像:docker tab image_name:tag 192.168.159.128:5000/mytomcat:1.0

    上传镜像:docker push 192.168.159.128:5000/mytomcat:1.0

    拉取私有镜像:docker pull 192.168.159.128:5000/mytomcat:1.0