Docker入门
Posted ling-yu-amen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker入门相关的知识,希望对你有一定的参考价值。
一、Docker 基本操作 (环境:Centos7)
1 systemctl stop firewalld 2 systemctl disable firewalld 3 sed -i ‘/^SELINUX=/cSELINUX=disabled‘ /etc/selinux/config 4 setenforce 0 5 yum -y install docker 6 systemctl start docker.service 7 systemctl enable docker.service
如果是CentOS 6在base源中无docker,需要增加yum源
(1)升级版本内核(可选项,centos6默认内核为2.6,centos7默认内核为3.10)查看命令
cat /etc/redhat-release uname -a uname -r
(2)Centos 6内核升级:yum安装带aufs模块的3.10内核
cd /etc/yum.repos.d wget http://www.hop5.in/yum/el6/hop5.repo yum -y install kernel-ml-aufs kernel-ml-aufs-devel
修改grub的主配置文件/etc/grub.conf,设置default=0,表示第一个title下的内容为默认启动的kernel(一般新安装的内核在第一个位置),重启生效。
yum -y install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm yum -y install docker-io service docker start
chkconfig –add docker chkconfig docker on
或:
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/d/docker-io-1.7.1-2.el6.x86_64.rpm
二、Docker 基本命令
docker version docker info 查看详细信息 docker run hello-world 测试 1、查找、下载镜像 docker search centos 查找CentOS docker search -s 100 ubuntu 查找star星数在100以上的Ubuntu版本 docker pull centos 拉取(下载)镜像 从daocloud 下载镜像: dao pull mysql docker pull daocloud.io/library/centos 2、查询已下载镜像 docker image list 查询镜像 = docker images docker images -q 查询镜像ID 3、删除镜像 docker rmi daocloud.io/library/mysql --force 强制删除镜像(镜像被容器使用,但容器没有运行,可使用--force,也可rmi -f) docker rmi ed9c93747fe1Deleted ID号方式删除镜像 docker rmi $(docker images -q) 删除所有镜像 docker history daocloud.io/ubuntu 显示镜像的制作历史 4、创建、断开容器 docker run -it centos/ID /bin/bash 用centos镜像创建并运行一个容器 ( -i 捕获标准输入输出; -t 分配一个终端或控制台) docker run -it -d centos/ID /bin/bash 创建并直接运行到后台 exit 断开并关闭当前容器(Ctrl + D) Ctrl + P + Q 断开不关闭 docker create -it daocloud.io/library/centos:5 /bin/bash 创建但不启用 5、查询容器 docker ps 查询在运行的容器 docker ps -a 查看所有容器 docker ps -a -q 查询所有容器的ID docker ps -l 列出最近一次启动的容器 docker inspect d95a220a4(ID) 查看容器信息 6、连接使用容器 docker attach + ID 连接已开启的容器 docker exec -it name/ID /bin/bash 连接后台型的容器 docker start name/ID 启动容器 docker stop name/ID 关闭容器 docker kill $(docker ps -a -q) 强制关闭所有容器 docker restart name/ID 重启容器 7、删除容器 docker rm + ID号 删除容器 docker rm –f + ID号 强行删除正在运行的容器 docker rm `docker ps -qf status=exited` 删除所有状态为exited的容器 8、拷贝 docker cp mysql:/usr/local/bin/docker-entrypoint.sh /root 拷贝容器中文件到宿主机 docker cp /root/docker-entrypoint.sh mysql:/usr/local/bin/ 宿主机文件拷贝至容器中 9、其他 docker logs + ID号 将容器执行过的命令打印出来 docker top birdben/ubuntu:v1 显示一个运行的容器里面的进程信息 docker diff elated_lovelace 能够查看出容器的变化文件(包括创建、删除、内容变化等) A /haha A /c.txt 注:反馈中:C代表文件内容变化了;A代表文件被创建、删除 C /etc/passwd docker events 实时输出Docker服务器端的事件(包括容器的创建,启动,关闭等) 10、容器卷 注:新卷只能在容器创建过程当中挂载 docker run -it --name="voltest" -v /tmp:/test daocloud.io/library/centos:5 /bin/bash 共享目录下的内容(若删除容器中目录下内容,宿主机的原目录下文件也会被删除) 注: /tmp 宿主机的路径; /test 容器中的路径 docker run -it --volumes-from bc4181 daocloud.io/library/centos:5 /bin/bash 共享其他容器的卷(新创建容器,使用ID为bc4181的容器卷(挂载目录与原容器的挂载目录相同)) 11、查询容器IP
docker inspect <container id> 或
docker inspect --format ‘{{ .NetworkSettings.IPAddress }}‘ <container-ID>
或
docker inspect -f ‘{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}‘ container_name_or_id
以上是关于Docker入门的主要内容,如果未能解决你的问题,请参考以下文章
Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段
markdown [Docker] Docker片段列表和命令#linux #docker #snippets