docker命令

docker学习笔记(1)

非 Y 不嫁゛ 提交于 2020-01-31 17:36:26
容器的基本概念 虚拟机通过中间层将一台或多台独立的机器虚拟运行在物理硬件上,而容器则是直接运行在操作系统内核上的用户空间(由于客居于操作系统,容器只能运行与底层宿主机相同或相似的操作系统) docker组件 Docker客户端和Dcoker守护进程(守护进程也称之为Docker引擎) Docker镜像(镜像是容器的源代码,体积小,易于分享) Registry(用户存储用户构建镜像的仓库) Docker容器(Docker容器是基于镜像启动起来的,容器中可以运行一个或多个进程,我们任务,镜像是Docker生命周期的构建或打包阶段,而容器是生命周期的启动或执行阶段) Docker基本命令 启动一个可交互的ubuntu实例 docker run -i -t ubuntu /bin/bash -i 保证容器标准输入打开 -t 为创建的容器分配一个伪tty -name 可以给容器命名(方便后续使用) -d 使容器成为守护式容器 列出所有的docker容器列表 docker ps -a 重新启动容器(创建容器但不启动docker create) docker start 容器ID或者容器名称 重新附着到容器上 docker attach 容器ID或者容器名称 docker 获取容器日志(注意和–log-driver的不当使用,会导致没有显示结果) docker logs 容器ID或者容器名称

Docker & Consul & Fabio & ASP.NET Core 2.0 微服务跨平台实践

我只是一个虾纸丫 提交于 2020-01-31 07:57:27
相关博文: Ubuntu 简单安装 Docker Mac OS、Ubuntu 安装及使用 Consul Consul 服务注册与服务发现 Fabio 安装和简单使用 阅读目录: Docker 运行 Consul 环境 Docker 运行 Fabio 环境 使用 Consul 注册 ASP.NET Core 2.0 服务 使用 Docker 发布部署 ASP.NET Core 2.0 服务 本篇博文的目的:在 Mac OS 中使用 VS Code 开发 ASP.NET Core 2.0 应用程序,然后在 Ubuntu 服务器配置 Docker 环境,并使用 Docker 运行 Consul 和 Fabio 环境,最后使用 Docker 运行 ASP.NET Core 2.0 应用程序。 你要的项目源码: https://github.com/yuezhongxin/HelloDocker.Sample 上面配置看起来还蛮简单,但实际去操作的时候,还是遇到了蛮多的问题,并且花了很多的时间去解决,比如 Docker 运行 Consul 和 Fabio,下面详细说下过程。 1. Docker 运行 Consul 环境 关于 Consul 的概念: Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,比如

docker拷贝宿主与容器中的文件

徘徊边缘 提交于 2020-01-31 06:12:22
从容器里面拷文件到宿主机 语法: docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径 例子:容器名为ubuntu,要从容器里面拷贝的文件路为: /usr/local/tomcat/webapps/test/js/test.js , 现在要将 test.js 从容器里面拷到宿主机的 /opt 路径下面 在宿主机上面执行命令 docker cp ubuntu:/usr/local/tomcat/webapps/test/js/test.js /opt 从宿主机拷文件到容器里面 语法: docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径 例子:容器名为 ubuntu ,现在要将宿主机 /opt/test.js 文件拷贝到容器里面的 /usr/local/tomcat/webapps/test/js 路径下面 在宿主机上面执行命令 docker cp /opt/test.js ubuntu:/usr/local/tomcat/webapps/test/js 来源: https://www.cnblogs.com/haima/p/12244575.html

Docker技术入门之---Docker安装(1)

假装没事ソ 提交于 2020-01-31 05:36:58
Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。 社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。 具体安装流程可以参考https://docs.docker.com官方文档 Centos 7上安装docker   Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker。   1.通过 uname -r 命令查看你当前的内核版本      2.卸载就版本的docker或是docker-engine。   # yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine   3.安装docker所依赖的软件包。   # yum install -y yum-utils device-mapper-persistent-data

docker安装mysql并远程访问

左心房为你撑大大i 提交于 2020-01-30 10:24:00
拉取镜像 mysql 5.7,等待mysql下载完 docker pull mysql:5.7 run镜像,把数据映射到本机 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql 命令说明: –name 后面的是docker容器名 -p 3306:3306:将容器的3306端口映射到主机的3306端口 -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码 -d mysql 是你的镜像标签 进入容器 //查看容器 docker ps docker exec -it mysql bash 登录mysql mysql -u root -p 选择数据库mysql use mysql 添加账户、授权远程访问: CREATE USER 'zxk'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; GRANT ALL PRIVILEGES ON . TO 'hydee_pos_sys'@'%'; //这时候就可以远程访问了 //清空缓存 flush privileges; //退出mysql命令行 exit 或者 quit //退出容器 exit 来源: CSDN 作者: _kangzai 链接: https

【SpringBoot + Docker】编写Dockerfile安装jdk11.0.3,并部署SpringBoot项目

ⅰ亾dé卋堺 提交于 2020-01-30 08:00:27
Docker 采用 Dockerfile 安装 jdk11.0.3 并部署SpringBoot项目实例 1、去Oracle官网提前下载好所需的 jdk,linux版本 各个版本jdk下载 - Oracle官网 本地建立 mydockerfile 文件夹,并将jdk copy到文件夹下 2、在 mydockerfile 文件夹中建立 Dockerfile,其内容如下: # Docker image for springboot file run # VERSION 0.0.1 # Author: hanquan # 建立一个新的镜像文件,配置模板:新建立的镜像是以centos为基础模板 # 因为jdk必须运行在操作系统之上 FROM centos:7 # 作者名 作者邮箱 MAINTAINER hanquan < 15801016967@163.com > # 创建一个新目录来存储jdk文件 RUN mkdir /usr/local/java #将jdk压缩文件复制到镜像中,它将自动解压缩tar文件 ADD jdk-11.0.3_linux-x64_bin.tar.gz /usr/local/java/ # 创建软连接 ln -s 源文件 目标文件 # RUN ln -s /usr/local/java/jdk-11.0.3 /usr/local/java/jdk # 设置环境变量

docker的/var/lib/docker目录迁移

强颜欢笑 提交于 2020-01-30 02:57:39
1 停止docker服务 systemctl stop docker 2 创建新的docker目录 mkdir -p /data/docker/lib 3 迁移/var/lib/docker rsync -avz /var/lib/docker /data/docker/lib/ 4 修改配置路径 方法1:通过建立软连接,把/var/lib/docker 移动到其他地方,建立到这里的软连接 ln -s /data/docker/lib /var/lib/docker 方法2:修改默认配置文件/etc/docker/daemon.json { "registry-mirrors": ["http://hub-mirror.c.163.com"], "graph":"/data/docker/lib" } 方法3:修改docker的systemd的 docker.service的配置文件 不知道 配置文件在哪里可以使用systemd 命令显示一下. systemctl disable docker systemctl enable docker #显示结果 Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker

Docker学习视频笔记(一)

删除回忆录丶 提交于 2020-01-30 01:06:01
01 前提知识:强制 linux,尚硅谷 韩顺平 建议 Git命令 课程时间1.5天 定位:java开发/Docker开发 docker–云平台–阿里云 JavaEE–Java Docker–Go语言 (区块链部分) docker基础篇 docker高级篇 02 开发:代码 war包 —》 运维:部署 两者环境和配置一致的问题 代码/配置/系统/数据。。。一起打包 封装完,就叫镜像 接近于Java虚拟机的理念,一次编译,多次运行 03 一次封装,到处运行 开发给运维镜像,一个集装箱是一个需要的依赖软件,运维只装一个鲸鱼,把所有的集装箱接过来。 仓库,镜像,容器 04 linux内核和各种库kernel,library 虚拟机是分钟级,docke是秒级 虚拟机占用资源多,荣誉步骤多,启动慢,连硬件都模拟 linux容器不模拟完整的操作系统,而是对进程进行隔离,只将需要的软件打包进容器 容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。每个容器之间相互隔离,每个容器都有自己的文件系统,能区分计算资源。 DevOps 运维工程师有失业的危险了 业界趋势: 如何10分钟完成1000节点扩容能力,混合云趋势,12306借助阿里云解决春节余票查询峰值问题,京东618大促借助Docker为基础的弹性云解决峰值流量问题。Docker

docker 容器环境 检测方法

試著忘記壹切 提交于 2020-01-30 00:46:14
1.背景 现在有研究表明,人们目前有使用Docker进行恶意代码重现工作的倾向。Docker的反检测可分为三部分:CPU反检测,内存反检测和存储数据反检测。该技术利用了AUFS的层叠镜像技术,使得我们的Docker反检测技术可以很容易地实现在镜像的一层中——反检测层。这样,只需要将反检测层动态地部署到Docker容器中,即可实现对Container环境的CPU、内存和存储的封装,从而遮蔽掉Container特征。这样的话,该容器中的恶意代码也就无法检测其自身是否在Container中运行了。 2.cgroup方法 在Host和Container中执行cat /proc/1/cgroup命令的结果是不同的,可以利用这一点进行判断。(或者cat /proc/self/cgroup命令也行) 在Host中执行cat /proc/1/cgroup命令的结果: root@ubuntu:~# cat /proc/1/cgroup 10:hugetlb:/ 9:cpuset:/ 8:memory:/ 7:cpu,cpuacct:/ 6:perf_event:/ 5:blkio:/ 4:net_cls,net_prio:/ 3:freezer:/ 2:devices:/ 1:name=systemd:/ 在Container中执行cat /proc/1/cgroup命令的结果: root

docker制作alpine初始镜像

最后都变了- 提交于 2020-01-30 00:15:40
前言 : 在 清华源的lxc 下载 alpine的压缩包 并编辑dockerfile文件进行创建镜像 dockerfile常用指令 FROM 基础镜像 RUN 制作镜像过程中需要的执行命令(安装服务) CMD 容器启动的时候执行的初始命令,容易被替换(启动服务) ENTRYPOINT 容器启动的时候执行的初始命令,不能被替换,如果同时使用CMD和ENTRYPOINT,cmd命令将作为ENTRYPOINT命令的参数 ADD 把dockerfile当前目录下的文件拷贝到容器中(自动解压tar包) COPY 把dockerfile当前目录下的文件拷贝到容器中(不解压tar包) WORKDIR 指定容器的默认工作目录 EXPOSE 镜像要暴露的端口 VOLUME 持久化卷 ENV 环境变量(ssh的密码,数据库的密码) LABEL 镜像的属性标签 MAINTAINER 管理者标识 创建目录下载 mkdir -p /opt/dockerfile/alpine #进入alpine目录下载压缩包 wget https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/alpine/3.11/amd64/default/20200128_17%3A55/rootfs.tar.xz 编辑dockerfile文件 注 : ADD只能解压 tar 文件