关于docker怎么用的一些相关词条

   今天百学百科就给我们广大朋友来聊聊docker怎么用,以下关于的观点希望能帮助到您找到想要的学习

  Docker的妙用

  最佳答案最近用docker来安装MySQL、SqlServer和Redis,用了之后,真是太喜欢了,尤其适合开发环境。比如,在开发环境安装MySQL是比较费时的,如果要尝试不同的版本,那就更麻烦了。忘了Root密码还特别麻烦。有了docker后,想用哪个版本,直接下个image,设置一个密码,就能用了。不想用,直接删除image就OK,远没有卸载MySQL那样麻烦。其他常用的开发工具也是也一样的。

  [Docker] docker-compose使用教程

  最佳答案[Docker] 入门教程

  我们从 logo 上可以看出来, 说白了, 这个东西就是一个管理容器的工(zhang)具(yu), 我们可以方便的使用它来管理我们的 docker 容器, 可以极大程度的简化命令行的复杂操作.

  如果你是 Mac 或 Windows 用户使用桌面版本的 Docker 应用默认就会替你安装 docker-compose (下文中用dc代替), 如果是 centos 的话可以使用命令 yum -y install docker-compose 太简单了不做过多说明.

  查看版本,能显示出来证明安装成功了

  接下来我们有需求了, 运行一个 service-a 挂载到 /usr/local , 映射端口为 8082 并添加 servicehost 域名映射内网 ip ,很多人可以想到那应该是一条冗长 docker 命令

  这么一大坨,看起来十分不方便,那么我们就是用 docker-compose 来优化一下

  首先创建一个名为 docker-compose.yml 的文件

  之后随便是用一个文本编辑器打开,写入下面内容

  这样看起来是不是思路清晰多了呢,我们接下来运行一下

  -d 后台运行,否则运行log就会出现在你的屏幕上。

  然后查看一下运行状态

  我们可以看到服务已经运行起来了,我们试着访问一下

  成功,这一部分告一段落。

  有的人会问,多个服务怎么运行呢?很简单,我们这里就来做一下。

  下面我要做的是开启三个服务 service-a , service-b , service-eureka ,分别是一个注册中心和两个服务。

  我们来完善一下 docker-compose.yml

  我们来运行一下

  注册中心

  访问service-a

  访问service-b

  到这里我们已经可以运行起来多个服务了下课 - -

  我们可以看到 docker-compose 会自动识别容器的开启状态,替我们开启需要开启的那一个

  1.可能很多人对我的 echo 192.168.1.126 servicehost >> /etc/hosts 不是很理解

  这里说一下,这句命令的意思是,把 servicehost 域名加入到 hosts 文件,目的是为了能让我的 eureka 发现我的服务,而不是把地址写死在配置文件中,这句命令对应的服务配置为

  Ubuntu Docker 安装和使用

  最佳答案Docker 划分为CE 和EE。CE 即社区版(免费,支持周期三个月),EE 即企业版,强调安全,付费使用。

  在Ubuntu系统中安装较为简单,官方提供了脚本供我们进行安装。

  执行这个命令后,脚本就会自动的将一切准备工作做好,并且把Docker CE 的Edge版本安装在系统中。

   启动Docker CE

   建立docker 用户组

  默认情况下,docker 命令会使用Unix socket 与Docker 引擎通讯。而只有root 用户和docker 组的用户才可以访问Docker 引擎的Unix socket。出于安全考虑,一般Ubuntu系统上不会直接使用root 用户。因此,更好地做法是将需要使用docker 的用户加入docker用户组。

  注销当前用户,重新登录Ubuntu,输入docker info,此时可以直接出现信息。

   配置国内镜像加速

  在/etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

  重新启动服务

  测试

  我们通过 docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力:

  各个参数解析:

  -t: 在新容器内指定一个伪终端或终端。

  -i: 允许你对容器内的标准输入 (STDIN) 进行交互。

  我们可以通过运行 exit 命令或者使用 CTRL+D 来退出容器。

  使用以下命令创建一个以进程方式运行的容器

  二、使用Docker安装 MySQL

  用 docker search mysql 命令来查看可用版本:

  2、拉取 MySQL 镜像

  这里我们拉取官方的最新版本的镜像:

  3、查看本地镜像

  使用以下命令来查看是否已安装了 mysql:

  4、运行容器

  安装完成后,我们可以使用以下命令来运行 mysql 容器:

  大小写敏感

  参数说明:

  -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。

  MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。

  使用docker exec进入Docker容器

  从容器里面拷文件到宿主机

  docker cp mysql-5.7:/etc/mysql/ /home

  从宿主机拷文件到容器里面

  docker cp /home/s/my.cnf mysql-5.7:/etc/mysql/

  大小写敏感修改

  /etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务 0敏感 1不敏感

  开启远程连接

  5、安装成功

  通过 docker ps 命令查看是否安装成功:

  6、连接

  mysql -u root -P3308 -h 127.0.0.1 -p

  docker 使用

  最佳答案运行容器

  sudo docker run -it -v /home/lcj/test_docker:/home/lcj/test_docker tensorflow/tensorflow:1.13.1-gpu-py3

  参数:

  -d 后台运行并返回容器ID,如 -itd

  -e 设置环境变量,如 -e NVIDIA_VISIBLE_DEVICE=0 使用编号为 0 的GPU

  -i 打开 STDIN,用于控制台交互,通常跟 -t 一起使用

  --net 容器网络设置,如 --net my_network,或者 --net=contianer:NAME_or_ID,使用其他容器的网络,共享 IP 和 PORT 等资源

  --restart 指定容器停止后的启动的策略,如 --restart=always

  --runtime=nvidia 使用 nvidia 模式运行,跟 -e 一起使用,可以在容器里使用 GPU

  -t 为容器重新分配一个伪输入终端,通常与 -i 一起使用

  -v 给容器挂载存储卷,挂载到容器的某个目录,如 -v /home/lcj/test_docker:/home/lcj/test_docker

  -w 指定容器的工作目录

  停止容器

  docker stop 容器ID

  或者 docker stop `docker ps -a -q` 停止所有容器

  重启容器

  docker restart 容器ID

  进入一个运行中的容器

  docker attach 容器ID

  保存容器

  docker save myimage | bzip2 -9 -c > /home/lcj/save.tar.bz2

  加载容器

  bzip2 -d -c < /home/lcj/save.tar.bz2 | docker load

  杀掉运行中的容器

  docker kill -s KILL 容器ID

  -s:向容器中发送一个信号

  docker rm 命令

  参数:

  -f :通过 SIGKILL 强制删除一个容器,如 docker rm -f a

  -l:移除容器间的网络连接,而非容器本身,如 docker rm -l b,其中 b 为连接名,而非容器名

  -v:删除与容器关联的卷

  docker create :创建一个容器但不运行它,语法同 docker run

  docker ps

  -a:显示所有的容器,包括未运行的

  -f:根据条件过滤显示的内容

  -l:显示最近创建的容器

  -n:列出最近创建的 n 个容器

  -q:静默模式,只显示容器 ID

  列出所有创建的容器 ID

  docker ps -a -q

  停止所有容器 ID

  docker stop  `docker ps -a -q`

  获取容器/镜像的元数据

  docker inspect 容器/镜像名

  docker top :查看容器中的进程信息

  docker top a(a 是容器)

  docker attach :链接到正在运行的容器(该容器必须正在运行)

  docker attach a (a 是容器)

  docker events :从服务器获取实时事件

  -f:根据条件过滤事件

  --since:从指定的时间戳后显示所有的事件

  --until:流水时间显示到指定的时间为止

  显示docker 2016年7月1日后的所有事件

  docker events -since="1467302400"

  显示docker 镜像为mysql:5.6 2016年7月1日后的相关事件

  docker events -f "image"="mysql:5.6" --since="1467302400"

  备注:如果指定的时间是到秒级的,需要将时间转成时间戳。如果时间为日期的话,可以直接使用,如--since="2016-07-01"

  docker export :将文件系统作为一个 tar 压缩文件导出到 STDOUT

  docker port :列出指定的容器端口的映射,或者查找将 PRIVATE_PORT NAT 到面向公众的端口

  docker port a(a 为容器名)

  docker commit : 从容器创建一个新的镜像

  -a:提交的镜像作者

  -c:使用 Dockerfile 文件来创建镜像

  -m:提交时说明的文字

  -p:在 commit 时暂停容器

  docker commit -a 'lcj' -m 'has update' 容器 ID 镜像名

  docker cp :用于容器与主机之间的数据拷贝

  将主机的 test_docker 目录拷贝到容器 /home/lcj 目录下

  docker cp /home/lcj/test_docker 容器 ID:/home/lcj/

  将容器 /home/lcj 目录拷贝到主机的 test_docker 目录下

  docker cp 容器 ID:/home/lcj/ /home/lcj/test_docker

  docker login/logout :登录或退出一个 Docker 镜像仓库,如果未指定镜像仓库地址,则默认为 官方 Docker Hub

  docker login -u 用户名 -p 密码

  docker logout

  docker pull :从镜像仓库中拉取或者更新指定镜像

  docker pull java

  docker push :将本地的镜像上传到镜像仓库,需先登录到镜像仓库

  docker push myapache:v1

  docker search :从 Docker Hub 查找镜像

  --automated,只列出 automated build(自动生成) 类型的镜像

  --no-trunc,显示完整的镜像描述

  -s:列出收藏数不少于指定值的镜像

  从Docker Hub查找所有镜像名包含java,并且收藏数大于10的镜像

  docker search -s 10 java

  docker images :列出本地所有的镜像

  -a:列出本地所有的镜像(含中间映像层,默认情况下,过滤中间映像层)

  -q:只显示镜像 ID

  docker images 或 docker images ubuntu,列出本地所有镜像或本地仓库名为 ubuntu 的所有的镜像

  docker  rmi :删除一个或多个镜像

  -f:强制移除

  --no_prune:不移除该镜像的过程镜像,默认移除

  强制删除本地镜像w3cschool/ubuntu:v4

  docker rmi -f w3cschool/ubuntu:v4

  docker tag :标记本地镜像,将其归入到某一个仓库

  将镜像ubuntu:15.10标记为 w3cschool/ubuntu:v3 镜像

  docker tag ubuntu:15.10 w3cschool/ubuntu:v3

  docker build:使用 Dockerfile 文件创建镜像

  使用当前目录的Dockerfile创建镜像

  docker build -t w3cscholl/ubuntu:v3 . (不要漏掉最后的 . 符号)

  使用URL  github.com/creack/docker-firefox  的 Dockerfile 创建镜像

  docker build github.com/creack/docker-firefox

  docker history :查看指定镜像的创建历史

  docker save :将指定镜像保存成 tar 压缩文件

  -o:输出到文件

  docker save -o my_ubuntu_v3.tar w3cschool/ubuntu:v3

  docker import:从压缩文件中创建镜像

  -c:应用 docker 指令创建镜像

  -m:提交时的说明文字

  从镜像归档文件my_ubuntu_v3.tar创建镜像,命名为w3cschool/ubuntu:v4

  docker import my_buntu_v3.tar w3cschool/ubuntu:v4

  今天的内容先分享到这里了,读完本文《关于docker怎么用的一些相关词条》之后,是否是您想找的答案呢?想要了解更多,敬请关注baike.100xue.net,您的关注是给小编最大的鼓励。

版权声明:本文内容转载自网络,该文观点仅代表作者本人。登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站举报,一经查实,本站将立刻删除。