Docker基础(更新中)
Docker是什么,能做什么?
Docker是解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。
Docker是利用容器独立运行的一个或者一组应用。
Docker三要素:仓库、镜像、容器
镜像(image)就是一个只读的模板,容器就是用镜像创建的实例。Person p1 = new Person();
CentOS 7(使用 yum 进行安装)
阿里官方文档:https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.5f011b114SjYdm
# step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # Step 2: 添加软件源信息 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # Step 3: 更新并安装Docker-CE sudo yum makecache fast sudo yum -y install docker-ce # Step 4: 开启Docker服务 sudo service docker start # 注意: # 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。 # vim /etc/yum.repos.d/docker-ee.repo # 将[docker-ce-test]下方的enabled=0修改为enabled=1 # # 安装指定版本的Docker-CE: # Step 1: 查找Docker-CE的版本: # yum list docker-ce.x86_64 --showduplicates | sort -r # Loading mirror speeds from cached hostfile # Loaded plugins: branch, fastestmirror, langpacks # docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable # docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable # docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable # Available Packages # Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos) # sudo yum -y install docker-ce-[VERSION]
安装校验:
root@iZbp12adskpuoxodbkqzjfZ:$ docker version Client: Version: 17.03.0-ce API version: 1.26 Go version: go1.7.5 Git commit: 3a232c8 Built: Tue Feb 28 07:52:04 2017 OS/Arch: linux/amd64 Server: Version: 17.03.0-ce API version: 1.26 (minimum version 1.12) Go version: go1.7.5 Git commit: 3a232c8 Built: Tue Feb 28 07:52:04 2017 OS/Arch: linux/amd64 Experimental: false
docker帮助命令:
docker version docker info docker --help
docker start ID或者容器名 #启动容器docker stop ID或者容器名 #停止容器
docker run -it --name mycentos centos #新建并运行centos,以重命名并提供交互,命令行终端(交互式)
#退出和停止命令:
docker kill ID或者容器名 #强制停止
docker restart ID或者容器名 #重启容器
exit #容器停止退出
ctrl+P+Q #容器不停止退出,回到宿主机,
#查看容器状态和进程:
docker ps
docker ps -l #显示最近创建的容器 docker ps -q #查看正在运行的容器 docker ps -qa #查看所有运行过的容器 docker ps -n 2 #查看过去运行过的2个容器
#删除镜像和删除容器命令: docker rmi image 98785fuh38u8 #删除镜像 docker rm 7867fd76d66 #删除容器 docker rm -f 7867fd76d66 #强制删除
docker rm -f $(docker ps -a -q) #一次性删除多个
守护进程方式:
很重要的一点:docker后台运行,必须要有一个前台进程
exec命令可以直接在在宿主机终端操作docker容器,attach命令只能进入容器
拷贝容器中的文件至宿主机: