docker 相关

文档: https://yeasy.gitbooks.io/docker_practice/

环境: deepin虚拟机 Linux环境

 

一. 安装 docker

1. 检查之前是否安装过旧版本docker,有就卸掉

sudo apt-get remove docker docker-engine

2. 如果没有带curl,安装curl

sudo apt-get install curl

3.安装docker-ce与密钥管理与下载相关的依赖库

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

4.下载并安装密钥

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

5.测试是否正确

sudo apt-key fingerprint 0EBFCD88

6.添加docker官方仓库,并更新本地软件仓库

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian jessie stable"

若报错,则将 /usr/share/python-apt/templates/Deepin.info 的 Suite: unstable 改为 Suite:stable ,重新运行上面的代码即可。

sudo apt-get update

7.安装docker-ce

sudo apt-get install docker-ce

8.使用ifconfig查看 若有docker0,则说明成功

docker version 查看docker版本

9.把自己的用户添加到docker用户组里 就不用输sudo了

查看docker用户组    sudo cat /etc/group | grep docker

把用户加入用户组    sudo usermod -aG docker yourname

重启

 

二. docker的使用

(一)dockerfile

1.把jar和dockerfile 放到一个新文件夹下

2.使用 Dockerfile 创建镜像并起名字iname 注意  . 不要忘记

docker build -t iname .   //-tag, -t: 镜像的名字

3.创建容器dname

docker run -d --name dname -p 8294:8294 iname //-p 指定端口 -d: 后台运行容器,并返回容器ID

 

docker run -d -it --name usercontain -e -apollo.meta=http://configuration.dev.lunz.cn -env=dev -p 11004:11004 userimage // -e 运行参数

4.列出运行中的容器

docker ps // -a 列出所有的容器

5.查看日志

docker logs -f -t --tail 容器ID

docker container logs name

(二)docker-compose

1.安装docker-compose (Linux 64 位系统上直接下载对应的二进制包)

sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

2.运行镜像

docker-compose up -d

3.卸载docker-compose

sudo rm /usr/local/bin/docker-compose

 

三.docker常用命令

docker info   —— 查看docker系统信息,包括image和container的相关信息

docker pull [options] name  —— 获取image  option:  -a 拉取仓库中所有name镜像

docker images [options] [repository]      —— 列出本地image  option: -a 列出所有; -f 显示满足条件的; -q 只显示id

docker rmi [options] imagename —— 删除相应image   option: -f 强制删除

docker rm `docker ps -a | grep Exited | awk '{print $1}'`   删除异常停止的docker容器

docker rmi -f  `docker images | grep '<none>' | awk '{print $3}'`  删除名称或标签为none的镜像

docker exec -it 62f968d2fa9c /bin/bash 进入容器

docker exec -it 62f968d2fa9c /bin/sh 进入容器

 

windows下:

docker rm $(docker ps -a -q) ——删除所有已经停止的容器( PowerShell 中执行)

 

 

 

 

 

windows 环境下搭建docker私有仓库

1.在公用仓库中pull仓库镜像

docker pull regitry

2.启动仓库镜像

//-d意思是后台运行,-p是做端口映射,这里是将本地的5000端口和容器中的5000端口对应

docker run --restart=always --name registry -d -p 5000:5000 -e REGISTRY_STORAGE_DELETE_ENABLED=true registry

3.将本地镜像上传测试(这里以hello为例)

docker tag hello 127.0.0.1:5000/hello (先将镜像打上标签)

docker push 127.0.0.1:5000/hello (将镜像推送到本地仓库)

4.镜像上传完毕后,打开这个地址就会看到你刚刚上传的镜像啦

http://localhost:5000/v2/_catalog

5.别的机器上要pull你仓库中的镜像

需要在要pull的机器上,找到daemon.json修改配置,

insecure-registries": ["ip:5000"] //这里的ip就是你本地的ip

需要关闭防火墙

 

https://blog.csdn.net/burger1221/article/details/102972807

 

 

 

 

 

 

 

已标记关键词 清除标记
<p> <span>Docker </span><span>是 PaaS 供应商 DotCloud 开源的一个基于 LXC 的高级容器引擎,基于 Go 语言开发并遵从Apache 2.0  协议,通过内核虚拟化技术(namespaces及cgroups等,这里的内核技术指的是Linux内核)来提供容器的资源隔离与安全保证等。由于docker通过操作系统层的虚拟化实现隔离,所以在运行时,不需要额外的虚拟化管理程序(VMM(Virtual Machine Monitor),以及Hyperisor)支持,它属于内核级虚拟化,可以实现更高的性能,同时对资源的额需求更低。它和KVM 虚拟化的区别在于:docker是通过隔离来进行创建容器,而KVM虚拟化通过模拟方式创建虚拟机</span><span>。而本套课程主要讲解docker容器网络的各种构建方式,比如单台主机内的容器通信,及多台主机间的容器通信的主流实现方式。</span> </p> <p> <br /></p> <p> <span style="color:#000000;">主要讲解</span><span style="color:#000000;">Docker </span><span style="color:#000000;">网络以下几个方面:</span> </p> <p> <span style="color:#000000;">  1.  Linux</span><span style="color:#000000;">的虚拟桥和虚拟网卡、网络名称空间等。</span> </p> <p> <span style="color:#000000;">  2.  Docker</span><span style="color:#000000;">网络的基础知识。</span> </p> <p> <span style="color:#000000;">  3.  用户自定义的网络</span> </p> <p> <span style="color:#000000;">  4.  Docker</span><span style="color:#000000;">和</span><span style="color:#000000;">openvswitch</span><span style="color:#000000;">虚拟交换机的集成。</span> </p> <p> <span style="color:#000000;">  5.  容器</span><span style="color:#000000;">dns</span><span style="color:#000000;">相关配置</span> </p> <p> <span style="color:#000000;">  6.  容器网络通信的相关安全</span> </p> <p> <span style="color:#000000;">  7.  容器和</span><span style="color:#000000;">flannel</span><span style="color:#000000;">网络集成</span> </p> <p> <span style="color:#000000;">  8.  容器网络的相关排错</span> </p> <p> <span style="color:#000000;"><br /></span> </p> <p> <span style="color:#000000;"><span style="color:#FF0000;">注意:</span><span style="color:#FF0000;font-size:14px;background-color:#FFFFFF;">本课程学习需要具有一定的</span><span style="color:#FF0000;">Linux</span><span style="color:#FF0000;font-size:14px;background-color:#FFFFFF;">基础、网络基础,至少需要您了解网络七层协议,路由等基础知识,并掌握</span><span style="color:#FF0000;">Docker</span><span style="color:#FF0000;font-size:14px;background-color:#FFFFFF;">相关知识点。</span></span> </p> <p> <span style="color:#000000;"><br /></span> </p> <p> <span style="color:#000000;"><img src="https://img-bss.csdn.net/202003160230552928.png" alt="" /><br /></span> </p> <p> <span style="color:#000000;"><br /></span> </p> <p> <span style="color:#000000;"><br /></span> </p> <p> <span style="color:#000000;"><img src="https://img-bss.csdn.net/202003160231149077.png" alt="" /><br /></span> </p> <p> <span style="color:#000000;"><img src="https://img-bss.csdn.net/202003160231316553.png" alt="" /><br /></span> </p>
相关推荐
©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页