docker教程---docker是概念/安装及操作docker的命令
1.虚拟机是什么?2.docker是什么?3.docker命令安装docker:包含社区版和企业版
1..docker是什么?
Docker是一个开发,运输和运行应用程序的开放平台。 Docker使您可以将应用程序与基础架构分离, 以便快速交付软件。 使用Docker,您可以像管理应用程序一样管理基础架构(OS)。 通过利用 Docker的方法快速发送,测试和部署代码,您可以显着减少编写代码和在生产中运行代码之间的延迟。
容器提供了隔离性,结论是,容器可以为各种测试提供很好的沙盒环境。并且,容器本身就具有“标准 性”的特征,非常适合为服务创建构建块。
Docker的一些应用场景如下:
- 加速本地开发和构建流程,使其更加高效、更加轻量化。本地开发人员可以构建、运行并分享 Docker容器。容器可以在开发环境中构建,然后轻松的提交到测试环境中,并终进入生产环 境。 开发人员与运维人员进行职责的逻辑分离
- 能够让独立的服务或应用程序在不同的环境中,得到相同的运行结果。这一点在面向服务的架构和 重度依赖微型服务的部署由其实用。
- 用Docker创建隔离的环境来进行测试。例如,用Jenkins CI这样的持续集成工具启动一个用于测试 的容器。(持续化集成 war 实际部署:jenkins持续化集成 Jenkins + git )
- Docker可以让开发者先在本机上构建一个复杂的程序或架构来进行测试,而不是一开始就在生产 环境部署、测试。
- 构建一个多用户的平台即服务(PaaS)基础设施 为开发、测试提供一个轻量级的独立的沙盒环境 提供软件即服务(SaaS)应用程序,例如Memcached即服务
- 高性能、超大规模的宿主机部署(可以很多容器)
2.docker命令
安装docker:包含社区版和企业版
一、安装docker存储库(在新主机上首次安装Docker CE之前,需要设置Docker存储库。之后,您可以从 存储库安装和更新Docker)
1、sudo apt-get update
2、sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
3、curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add
4、sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
二、安装docker ce1、sudo apt-get update
2、sudo apt-get install docker-ce docker-ce-cli containerd.io
3. sudo docker run hello-world 检测是否安装成功
操作docker的命令:
1.启动/停止/重启 docker: sudo systemctl start/stop/restart docker
2.查看docker运行状态 sudo sytemctl status docker
3. 列出镜像 docker images
REPOSITORY:表示镜像的仓库源
IMAGE ID:镜像IDCREATED:镜像创建时间
SIZE:镜像大小
4.查找镜像 docker search 镜像名称
NAME:镜像仓库源的名称 DESCRIPTION:镜像的描述
starts:用户评价,反应一个镜像的受欢迎程度 OFFICIAL:是否docker官方发布
auto commit:自动构建,表示该镜像由Docker Hub自动构建流程创建的5. 拉取镜像 docker pull 镜像名称[:version]
配置镜像加速器(参考该网站具体的文档操作)
步骤:sudo vim /etc/docker/daemon.json
配置内容:
{ "registry-mirrors": ["https://cs913o6k.mirror.aliyuncs.com"] }
sudo systemctl daemon-reload
sudo systemctl restart docker
6. 删除镜像1、删除一个镜像 docker rmi 镜像名称/id
2、删除多个镜像 docker rmi 镜像名称1/id1 镜像名称2/id2 ...
3、删除所有镜像 docker rmi `docker images -q`7. 创建容器
docker run [options] image command [ARG...]
options选项: -i、-t、-d、--name
-i:交互式容器
-t:tty,终端
-d:后台运行,并且打印容器id
sh /usr/local/tomcat7/bin/startup.sh(shell脚本 #/bin/bash py rb lua)Linux:根的进程:/bin/bash tree /xxx /yyy
eg:创建的容器名称不能重复docker run --name=u1 ubuntu
docker run -i -t --name=u1 ubuntu /bin/bash
docker run -i -t -d --name=u3 ubuntu /bin/bash
8.进入容器
方式一: docker attach 容器名称/id (ps:exit,容器停止) eg:docker attach u3
方式二: docker exec -it 容器名称/id /bin/bash (ps:exit,容器不会停止) eg:docker exec -it u3 /bin/bash9.查看容器
docker ps:查看正在运行的容器
docker ps -a:查看运行过的容器(历史)
docker ps -l:后一次运行的容器
10.停止/启动容
docker start 容器名称/id
docker stop 容器名称/id
11.删除容器
删除一个容器: docker rm 容器名称/id
删除多个容器: docker rm 容器名称1/id1 容器名称2/id2 ...
删除所有容器 docker rm `docker ps -a -q`
PS:无法删除正在运行的容器12.查看容器日志 docker logs 容器名称/id
13.文件拷贝
如果我们需要将文件拷贝到容器内可以使用cp命令
也可以将文件从容器内拷贝出来
docker cp 需要拷贝的文件或目录 容器名称:容器目录例如:docker cp 1.txt c2:/root
docker cp 容器名称:容器目录 需要拷贝的文件或目录
例如:docker cp c2:/root/2.txt /root
14.目录挂载
我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主 机某个目录的文件从而去影响容器。
创建容器 添加-v参数 后边为 宿主机目录:容器目录docker run -id --name=c4 -v /opt/:/usr/local/myhtml centos
这是因为CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数 --privileged=true 来解决挂 载的目录没有权限的问题
docker run -id --privileged=true --name=c4 -v /opt/:/usr/local/myhtml centos
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)