docker入门学习+简单命令

一Docker概述

1. docker为什么出现

  1. 一款产品:开发和部署:两套环境(开发环境和部署环境不一致)导致配置麻烦,每一台机器都要配置相应的环境
  2. 打包时可以带上环境(即成为镜像),下载镜像直接运行。
  3. Docker 的思想来自集装箱
    1. 核心思想:隔离,每个箱子是相互隔离的
    2. Docker通过隔离机制,充分使用服务器的资源

2. Docker的历史

  1. 2010,成立dotcloud公司,做一些pass的云计算服务,LXC有关的容器技术,将容器化技术命名为docker
  2. 2013年,docker开源,docker开始流行,2014年,docker1.0发布
  3. 在容器技术前,都是使用虚拟机技术
    1. 虚拟机:在win中安装Vmware,可以虚拟出多台虚拟机
    2. docker:隔离,镜像(最核心的环境+应用程序),十分小巧,启动快。
  4. Docker是基于Go语言开发的

3. Docker能干嘛

1.虚拟机技术缺点

1. 资源占用多
2. 启动慢
3. 冗余步骤多

2.容器技术

容器技术不是模拟一个完整的操作系统

3.比较docker和虚拟机的不同

1. 传统虚拟机,虚拟出一个硬件,运行一个完整的操作系统,然后在这个系统上运行需要的软件
2. 容器内的应用软件直接运行在宿主机上,容器没有自己的内容,也没有虚拟硬件,所以轻便
3. 每个容器相互隔离,每个容器内都有自己的文件系统,互不影响

4.应用更快的交付和部署

1. 传统:一堆的帮助文档,来安装程序
2. docker:打包镜像发布测试,一键运行
3. 更便捷的升级和扩缩容
4. 更简单的系统运维
5. 更高效的计算资源利用

4. Docker 的安装

4.1 docker 的基本组成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MQbznEnb-1606219290030)(Docker学习.assets/image-20201124103346063.png)]
  1. 镜像(images):可以通过镜像来创建多个容器

  2. 容器(container):docker利用容器技术,独立的运行一个或一组应用,通过镜像来创建的。

    有启动,停止,删除等基本命令

    4.2 安装docker

#查看系统内核:
uname -r

#查看系统信息
cat /etc/os-release

(base) ljk@ljk-MS-7758:~/tlt-learn1/ssd/specs$ cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.3 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.3 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

​ 安装:看官方文档

4.3 Docker运行原理图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9LnLepEy-1606219290031)(Docker学习.assets/image-20201124104638569.png)]

4.4 docker 的底层原理

Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问,DockerServer接受到Docker-Client的指令,就会执行这个命令。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E1JSckJJ-1606219290032)(Docker学习.assets/image-20201124104758283.png)]

二. Docker的命令

查看docker的版本:docker version

查看docker 的信息:docker info

1.镜像命令

1.1 查看本地主机上的镜像

sudo docker images

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tEJYreza-1606219290033)(Docker学习.assets/image-20201124105455078.png)]

1.2 搜索镜像

sudo docker search +名称
eg:
sudo docker search mysql

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XdWX1fjg-1606219290034)(Docker学习.assets/image-20201124105816255.png)]

1.3下载镜像

sudo docker pull +名称:tag(版本号),也可不指定版本号
eg:
sudo docker pull mysql=5.6

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rsk1FC5j-1606219290035)(Docker学习.assets/image-20201124110246276.png)]

1.4删除镜像

sudo docker rmi -f +名称(可以是镜像的id也可以是名称)
sudo docker rmi -f 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-USmFmm0Q-1606219290035)(Docker学习.assets/image-20201124110747332.png)]

2.容器命令

说明:用镜像才可以创建容器,下载一个centos镜像来测试学习

#下载centos镜像
sudo docker pull centos

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9x3rNWZu-1606219290036)(Docker学习.assets/image-20201124111116746.png)]

2.1新建容器并启动

docker run+[可选参数] images
#参数说明:
	--name="Name", 	容器名字,eg:tomcat01,tomcat02,用来区分容器
	-d				以后台方式运行
	-it				使用交互式运行,并入容器查看内容
	-p				指定容器的端口  eg:-p 8080:8080

#启动并进入容器
sudo docker run -it centos /bin/bash

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b9hkG2Z1-1606219290036)(Docker学习.assets/image-20201124112223416.png)]

2.2退出容器

exit #直接退出容器,并停止容器
ctrl +p+q 退出容器,不停止容器

2.3删除容器

sudo docker rm + 容器id    #删除指定的容器,不能删除正在运行的容器
sudo docker rm  -f +容器id  #删除指定的容器,能删除正在行的容器

2.4启动和停止容器的操作

sudo docker start +容器的id	#启动容器
sudo docker restart +容器id	#重启容器
sudo docker stop +容器id      #停止容器
sudo docker kill 容器id      #强制停止容器

2.5常用的其他命令:

进入正在运行的容器
方式1
sudo docker exec -it 容器id  +  /bin/bash
eg:进入正在运行的centos
sudo docker exec -it 0ae8e8d64f18  /bin/bash

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-peW4K9no-1606219290037)(Docker学习.assets/image-20201124122653760.png)]

方式2
sudo docker attach 容器id   #进入容器正在执行的终端,不会启动新的进程

2.6从容器拷贝文件到主机上

docker cp 容器id:容器内路径  目的主机的路径
eg:
sudo docker cp 479ee9aea837:/workspace/README.md  /home/ljk/data
方式2
sudo docker attach 容器id   #进入容器正在执行的终端,不会启动新的进程

2.6从容器拷贝文件到主机上

docker cp 容器id:容器内路径  目的主机的路径
eg:
sudo docker cp 479ee9aea837:/workspace/README.md  /home/ljk/data
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值