docker 安装使用中的心得memo

1,安装

使用YUM安装 Docker CE

1. 设置存储库

a. 安装yum所需要的包:yum-utils,device-mapper-persistent-data,lvm2。

$ sudo yum install -y yum-utils \

  device-mapper-persistent-data \

  lvm2

复制

b. 使用以下命令设置稳定的存储库。

$ sudo yum-config-manager \

    --add-repo \

    https://download.docker.com/linux/centos/docker-ce.repo

复制

2. 安装 Docker CE

. 安装最新版本的Docker CE和containerd,或进入下一步安装特定版本:

$ sudo yum install docker-ce docker-ce-cli containerd.io

复制

中间会提示接受GPG密钥,接受继续。

Docker已安装好了,但尚未启动。

c. 查看 Docker 版本号

$ docker version

复制

d. 启动 Docker

$ sudo systemctl docker start

centos7 : service docker start

----------------------------------------------------------------

3,docker stop 容器ID和 docker kill 容器id 的区别?

-》 stop更优雅。别的没区别。都是停掉容器服务。但是不从container中删除。

  想删除掉还得用docker rm 容器id。

4,docker attach 容器ID 和 docker exec 容器id 有什么区别?

-》互补。docker attach不产生新的进程,而是直接进入容器的当前进程中。

      所以exit或者ctrl+c,容器也就停止了。所以用ctrl+q+p,ctrl+p,ctrl+q来停。

    docker exec产生了新的进程。

5,docker run与docker exec的区别?

-》互补。docker run 产生新的容器。而docker exec用于已经启动的容器。

6, docker的自定义网络为什么要定义?

-》 容器默认的网络是bridge网络。所以默认一台宿主机里的容器之间能访问。

  但是宿主机和容器无法访问。所以,自定义网络的目的就是把宿主机和容器联通。

  docker network ls

  docker network inspect networkname/networkid

  docker network create --driver dirvername my_network # my_networ 是网络名

  docker run -it --network=my_network --rm image /bin/bash #把容器建到该网络中(和宿主机能互通)

7,自定义网络高级

  创建network 

  # docker network create -d bridge --ip-range=192.168.1.0/24 --gateway=192.168.1.1 --subnet=192.168.1.0/24 bridge2

  # docker network ls    创建两个容器指定ip并指定network 

  # docker run -it --network=bridge2 --ip=192.168.1.3 busybox

  # docker run -it --network=bridge2 --ip=192.168.1.4 busybox

8,dockers-compose.yml用来真正项目一次启动多个文件

  8.1 安装

  sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

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

  sudo docker-compose --version

  8.2

    写docker-compose.yml

    docker-compose启动nginx与php

    我们将使用docker-compose一次启动nginx与php两个容器。

    1. 配置 dockers-compose.yml文件

    创建docker-compose.yml配置文件:

version: '3'

        services:

        # nginx 服务

        nginx:

          # 推荐使用官方镜像

          image: nginx:latest

          # 映射端口,把容器端口映射到宿主机对外接口,格式:对外端口:容器端口

          ports:

          - "80:80"

          - "443:443"

          # 所依赖的服务,php会先启动

          depends_on:

          - php

        # php 服务

        php:

          # 官方镜像

          image: php:7-fpm

      2.$ sudo service docker start

      3.$ sudo docker-compose up -d  #把两个容器一起执行起来

9,docker run -v 挂在硬盘的本质是什么?

-》本质是把宿主机的目录拷贝到容器里。如果容器里有对应的目录,那么不好意思,内容全被删除。然后变成本地目录的内容!!

  注意吧。

10, Dockefile 和 docker-compose.yml 有什么不同?

-》本质上的不同。Dockerfile是 工程-》image 。 而 docker-compose.yml是image-》container(多个)。

11,docker run -v hostpath:containerpath . 能怎么用?

-》共享目录就是修改container的目录库。修改了之后有些container支持热部署,就直接反应到浏览器的应用上了。

有些可能需要冷部署。进入到container里再部署一下。

你可能感兴趣的:(docker 安装使用中的心得memo)