Bootstrap

Docker学习笔记(一)linux基本操作命令

名词解析

  1. 容器
    容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的root 文件系统、自己的网络配置、自己的进程空间,甚至自己的用户ID 空间。容器内的进程是运行在一个隔离的环境里。
  2. 镜像(Image)
    封装了应用程序及其依赖的“包”。
  3. 仓库(Repository)
    就好像软件包上传下载站,是存放镜像的地方。

Linux安装启动命令

	sudo apt install curl
	curl -fsSL get.docker.com -o get-docker.sh
	sudo sh get-docker.sh --mirror Aliyun
	sudo systemctl enable docker
	sudo systemctl start docker
	sudo apt-get install -y docker.io
	sudo service docker start

基本操作

  1. 下载镜像
    使用 docker pull 命令来从仓库获取所需要的镜像
    1.1 docker pull很慢的解决办法
vim /etc/docker/daemon.json 
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["10.0.0.12:5000"]
}
  1. 构建镜像
    构建Docker镜像有以下两种方法:
	•	使用docker commit命令。
	•	使用docker build命令和 Dockerfile 文件。

Dockerfile指令

1、	FROM
	格式:FROM <image>或 FROM <image>:<tag>
	第一条指令必须为FROM指令,并且,如果在同一个Dockerfile中创建多个镜像时,可以使用多个FROM指令(每个镜像一次)
2、	MAINTAINET
	格式:MAINTAINET <name>  指定维护者的信息
3、	RUN
	格式:RUN <command> 或 RUN ["", "", ""]
	每条指令将在当前镜像基础上执行,并提交为新的镜像。(可以用“\”换行)
4、	CMD
	格式:CMD ["","",""]
	指定启动容器时执行的命令,每个Dockerfile只能有一条CMD指令,如果指定了多条指令,则最后一条执行。
5、EXPOSE
	告诉Docker服务端暴露端口,在容器启动时需要通过 -p 做端口映射
6、ENV
	格式:ENV <key> <value> 指定环境变量,会被RUN指令使用,并在容器运行时保存
7、ADD
	格式:ADD  <src>  <dest>
	复制指定的<src>到容器的<dest>中,<src>可以是Dockerfile所在的目录的一个相对路径;
	可以是URL,也可以是tar.gz(自动解压)
8、COPY
	格式:COPY <src>  <dest>
	复制本地主机的 <src> ( 为 Dockerfile 所在目录的相对路径)到容器中的 <dest> 
9、ENTRYPOINT
	格式:ENTRYPOINT ["","",""]
	配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖。
	(每个 Dockerfile 中只能有一个 ENTRYPOINT ,当指定多个时,只有最后一个起效)

创建完成Dockerfile文件,如下

FROM ubuntu:latest 

MAINTAINER jarven "[email protected]"

RUN apt-get update -y

RUN apt-get install \
    build-essential pkg-config libc6-dev m4 g++-multilib \
    autoconf libtool ncurses-dev unzip git python python-zmq \
    zlib1g-dev wget curl bsdmainutils automake -y

# RUN git clone https://github.com/zcash/zcash.git

EXPOSE 8080

然后执行命令docker build来构建镜像

另一种方式:

  1. 先下载ubuntu系统
  2. 再安装各种环境
    这里是下载了一个基本的镜像文件,安装了一些依赖库(ZEC),但是还不够,还需要下载一些别的东西
  3. 创建一个容器
    docker run -i -t -p 80:8080 start1 /bin/bash
    运行此命令后会进入容器,然后下载
删除命令

删除镜像时,如果其被容器依赖,先要停掉容器。还有镜像文件有子镜像文件,需要先删除子镜像。
Docker的存放路径
默认情况下docker的存放位置为: /var/lib/docker

基本命令

  1. 查看所有容器
    sudo docker ps –a
  2. 查看镜像
    sudo docker images
  3. 关闭并删除
docker stop 容器ID
docker ps -a
docker rm 容器ID
  1. 重新启动容器
    docker run -dt -p 8000:7000 centos/java8 /bin/bash

  2. docker -g /home/work/image 使用-g参数指定 存放位置 ???

  3. 提交容器为镜像
    docker commit 容器ID 镜像名称

  4. 推送到docker hub上面,先登录再推送

	sudo docker login
	sudo docker push

在这里插入图片描述
在这里插入图片描述

实现与docker的通信

待续…

;