docker入门笔记

安装DOCKER

入门教程 https://www.runoob.com/docker/ubuntu-docker-install.html

盛科编译环境安装过程:

1.安装虚拟机

创建虚拟机为ubuntu-16.04

2.安装docker
一键安装
curl -sSL https://get.daocloud.io/docker | sh
手动安装

将文件containerd.io_1.2.6-3_amd64.debdocker-ce_18.09.8_3-0_ubuntu-xenial_amd64.debdocker-ce-cli_18.09.8_3-0_ubuntu-xenial_amd64.deb拷贝至预定目录,如/home/ubuntu/docker,执行以下命令:

  1. ubuntu@ubuntu:~$ sudo apt-get remove docker docker-engine docket.io containerd runc //删除旧版docker

  2. ubuntu@ubuntu:~$ sudo apt-get update

  3. ubuntu@ubuntu:~$ sudo dpkg -i /home/ubuntu/docker/containerd.io_1.2.6-3_amd64.deb

  4. ubuntu@ubuntu:~$ sudo dpkg -i /home/ubuntu/docker/docker-ce_18.09.8_3-0_ubuntu-xenial_amd64.deb

  5. ubuntu@ubuntu:~$ sudo dpkg -i /home/ubuntu/docker/docker-ce-cli_18.09.8_3-0_ubuntu-xenial_amd64.deb

    以上两种安装方式,安装完成后,使用 ubuntu@ubuntu:~$sudo docker run hello-world 检测是否安装成功,打印出以下指令,及为安装成功

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete         
........
For more examples and ideas, visit:
https://docs.docker.com/get-started/
3.安装镜像

将需要的镜像文件centec_ubuntu14.4_v3.tar拷贝至预定目,如/home/ubuntu/centec_docker,执行以下命令:

ubuntu@ubuntu:~$ sudo docker load < /home/ubuntu/centec_docker/centec_ubuntu14.4_v3.tar,进入各种Loading layer,等待结束。
结束后可用命令ubuntu@ubuntu:~$ sudo docker images 查看盛科编译环境是否存在。若存在,则打印出:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              bf756fb1ae65        2 months ago        13.3kB
centec/ubuntu14.4   v3                  30e890e7f1bd        4 years ago         2.01GB

还可以直接从仓库中下载镜像…

4.正确加载镜像后,需要把代码拷贝到docker容器内,

假设代码存放在/home/ubuntu/projects/centec_src中,需要拷贝到docker容器的/home中, 命令如下:

ubuntu@ubuntu:~$ sudo docker run -it -v /home/ubuntu/projects/centec_src:/home 30e890e7f1bd------>容器ID根据实际ID进行替换

5.进入相应目录,执行make进行编译

Docker基本概念

快速入门Docker https://zhuanlan.zhihu.com/p/23599229

docker类似于虚拟机,

虚拟机->装操作系统->软件包

docker框架->镜像->容器直接运行

Docker三个核心概念

1.镜像(Image)

​ 类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。

​ 例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板。

2.容器(Container)

​ 类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。

3.仓库(Repository)

​ 类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用tag进行区分,比如Ubuntu仓库存放有多个版本(12.04、14.04等)的Ubuntu镜像。

Docker基本流程

仓库(一般为DockerHub)下载(pull)一个镜像,Docker执行run方法得到一个容器,用户在容器里执行各种操作。Docker执行commit方法将容器转化为镜像。Docker利用login、push等命令将本地镜像推送(push)到仓库。其他机器或服务器上就可以使用该镜像去生成容器,进而运行相应的应用程序了。

旧镜像->新镜像有两种方法

1.利用镜像Arun启动一个容器后修改,再利用commit生成镜像B

2.利用Dockerfile创建镜像

docker是怎么工作的

docker是一个Client-Server结构的系统,通过Socket从客户端访问!

docker为什么比VM快

1.docker有着比虚拟机更少的抽象层

2.docker用的是宿主机的内核,vm需要Guest OS

Docker常用基础指令

使用docker指令需要 root权限!!!

详细命令https://www.runoob.com/docker/docker-command-manual.html

1.docker images

列出本地镜像

2.docker run

创建一个新容器并执行相应指令

例:docker run -it [IMAGE ID] /bin/bash

3.exit

退出容器

4.docker ps -a

查看docker中运行的容器

5.docker commit

将容器转化为镜像

6.docker rm container_name/container_id

删除容器

7.docker rmi image_name/image_id

删除镜像

8.docker start

重新启动容器

9.docker attach container_name/container_id

进入后台打开的容器 (docker run -d 后台运行容器)

基于旧镜像生成新镜像

1.ubuntu@ubuntu:~$ sudo docker images 查看本地镜像

2.ubuntu@ubuntu:~$ sudo docker run -it 30e890e7f1bd 创建基于旧镜像编译环境的容器

3.进入新的环境 root@72facb718f6e:/# 在里面进行配置

4.exit退出 回到ubuntu@ubuntu~$

5.ubuntu@ubuntu:~$ sudo docker ps -a 查看所有容器

6.ubuntu@ubuntu:~$sudo docker commit 72facb718f6e fish_centec/ubuntu16.4 ID后为生成的新镜像名字,可以在ID前添加-m指定说明信息,-a指定用户信息。

7.ubuntu@ubuntu:~$ sudo docker images 查看本地镜像,发现有新生成的镜像,即为成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值