美文网首页
Docker使用(持续更新中)

Docker使用(持续更新中)

作者: 倔犟的贝壳 | 来源:发表于2018-10-23 11:58 被阅读25次

    操作系统:Ubuntu16.04

    安装Docker

    参考文章:https://blog.csdn.net/bingzhongdehuoyan/article/details/79411479

    ubuntu14.04 参考文档:https://www.cnblogs.com/leolztang/p/5097278.html

    1.卸载旧版本

    sudo apt-get remove docker docker-engine docker-ce docker.io

    2.更新apt包索引

    sudo apt-get update

    3.使用 https 库

    sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

    若报如下错误,执行apt-get -f install 安装相关依赖库

    4.添加Docker官方的GPG密钥

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

    国内的:

    curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

    5.设置stable存储库,向 source.list 中添加 Docker 软件源

    官方的,国内比较慢,建议用国内的

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu$(lsb_release -cs)stable"

    国内的:

    sudo add-apt-repository \"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \$(lsb_release -cs)\ stable"

    6.更新apt索引

    sudo apt-get update

    7.安装docker CE

    sudo apt-get install -y docker-ce

    8. 查看docker是否已启动

     systemctl status docker

    ubuntu14.04上使用命令:service docker status

    9.启动docker

    systemctl start docker

    10.经典hello world

    docker run hello-world

    私有仓库

    1.创建私有仓库

    docker run -d -p 2222:2222 -v /opt/data/registry:/var/lib/registry registry

    部署springboot

    1.创建一个项目目录

    例子:/home/docker/protServer

    cd /home/docker/protServer

    2.将springboot 的jar包放到该目录下。

    3.创建Dockerfile文件,编辑:

    FROM java:8

    VOLUME /tmp

    ADD protDataServer-1.0.jar app.jar

    RUN bash -c 'touch /app.jar'

    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

    4.创建镜像:

    docker build -t protdataserver:1.0 .

        注意:镜像名称只能小写

    5.将镜像推送到仓库:

     docker tag protdataserver:1.0 127.0.0.1:2222/protdataserver:1.0 

    docker push 127.0.0.1:2222/protdataserver:1.0 

    拉取镜像:

    docker pull 127.0.0.1:2222/protdataserver:1.0 

    6.运行

    docker run -d -p 7080:7080 protdataserver:1.0 

    -d 表示后台运行

    第一个端口7080表示外部端口,第二个7080表示内部端口,这样就将外部端口映射到了内部端口。在外面就可以通过7080来访问该服务的api了。

    拉取镜像

    docker pull 127.0.0.1:2222/protdataserver:1.0

    若报错:

    http: server gave HTTP response to HTTPS client

    则在/etc/docker/daemon.json中增加配置:

    {"insecure-registries":["myregistry.example.com:5000"] }

    参考文章:

    https://yeasy.gitbooks.io/docker_practice/repository/registry.html

    https://chaolongzhang.github.io/docs/docker/

    https://yq.aliyun.com/ziliao/307245

    docker 命令

    查看镜像

    docker images

    搜索镜像

    docker search 镜像名称[:tag]

    删除镜像

    docker rmi image_id

    有时会报错关联容器未停止。则停止删除容器关联的容器即可

    若报错: image is referenced in multiple repositories,则根据repostory_id:tag 删除

    查看运行的容器

    docker ps -a

    查看容器

    docker container ls -a

    查看容器运行日志

    docker container logs [container id or container name]

    删除容器

    docker rm container_id

    docker 部署redis

    docker pull redis

    docker run -d --name myredis -p 6379:6379 redis --requirepass "mypassword"

    删除none的镜像

    docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop

    docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm

    docker images|grep none|awk '{print $3 }'|xargs docker rmi

    docker UI

    docker pull portainer/portainer

    docker run -d --name portainer --restart=always   -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /etc/hosts:/etc/hosts portainer/portainer

    相关文章

      网友评论

          本文标题:Docker使用(持续更新中)

          本文链接:https://www.haomeiwen.com/subject/kzljzftx.html