docker容器的基本命令
#安装docker
yum -y install docker
systemctl start docker.service
systemctl status docker
systemctl enable docker
docker ps #查看启动的docker
docker ps -a #查看所有docker
docker images #查看镜像
docker search mysql #搜索网络上的mysql
docker pull centos:7 #下载镜像
docker rmi centos:7
docker rmi ID #删镜像
docker rm #删容器
docker run -it centos:7 /bin/bash #启动容器
docker run -itd centos:7 /bin/bash #后台启动
mkdir test
#进入容器
docker exec -it 609bd39cdc18 /bin/bash
此时容器较镜像已经发生改变,我们以此生成新镜像
docker commit 0e60561500fc centos:7v1 #生成新的镜像
基于模板导出和导入镜像
docker save -o centos_7v1.tar centos:7v1
#把镜像传到客户端
scp centos_7v1.tar 192.168.182.140:/root
#在客户端加载镜像
docker load -i centos_7v1.tar
docker run -it centos:7v1 /bin/bash #启动
创建dockerfile
mkdir 123 #在root下新建123
新建docker文件
#vim dockerfile
FROM centos:7
RUN yum install -y tree
copy hello /root/
touch hello #新建hello
docker build -t centos:7 /root/123/
或者:docker build -t centostest . #创建镜像
build:创建镜像
-t:为镜像指定名字
.:指明 build context 为当前目录,我们也可以通过 -f 参数指定 Dockerfile 的位置
docker run -it centos:7 /bin/bash #启动检验
docker history id
#创建dockerfile
FROM:指定 base 镜像。
MAINTAINER:设置镜像的作者,可以是任意字符串
WORKDIR:为后面的 RUN, CMD, ENTRYPOINT, ADD 或 COPY 指令设置镜像中的当前工作目录。
RUN:在容器中运行指定的命令,RUN 指令通常用于安装应用和软件包。
ADD:与 COPY 类似,从 build context 复制文件到镜像。不同的是,如果 src 是归档文件(tar, zip, tgz, xz 等),文件会被自动解压到 dest。
COPY:将文件从 build context 复制到镜像。
COPY 支持两种形式:
COPY src dest
COPY ["src", "dest"]
注意:src 只能指定 build context 中的文件或目录。
ENV:设置环境变量,环境变量可被后面的指令使用。例如:
... ENV MY_VERSION 1.3
RUN apt-get install -y mypackage=$MY_VERSION
mkidr docker1
cd docker1
touch tmpfile2
touch a b c
tar zcf test.tar.gz a b c
vim dockerfile
#my dokerfile
FROM centos:7
MAINTAINER abc
WORKDIR /testdir
RUN touch tmpfile1
COPY ["tmpfile2","."]
ADD ["test.tar.gz","."]
ENV WELCOME "you are im my container.welcome!"
docker build -t centos_test:7 . #创建镜像centos_test:7
docker images #查看镜像
docker history ID #查看centos_test的动作
docker run -it 0b02569e7874 /bin/bash #启动容器并查看
#删除未启动容器
for id in `docker ps -a | grep Exited | awk '{print $1}' `;do docker rm $id ;done
for id in `docker ps -aq`;do docker rm -f $id;done
#以后台守护进程(Daemonized)形态运行 用-d参数实现
docker run -dti docker.io/centos:7
# 启动停止的容器
docker start 08bc41e77b01
#重启容器
docker restart 08bc41e77b01
#停止 容器
docker stop 08bc41e77b01
#进入容器
docker attach 08bc41e77b01
#查看容器日志
docker logs -f 9da0a7876f06
#暂停容器
docker pause 9da0a7876f06
#取消暂停继续运行容器
docker unpause 9da0a7876f06
导入和导出容器
a. 导出容器:导出一个已经创建的容器到文件,不管容器是否运行
#docker ps -a
假设当前系统中有两个处于运行和停止状态的容器
#docker export ID > *.tar
#ls
b.将容器导入系统成为镜像
#cat *.tar | docker import - test
#所有docker运行的相关文件
/var/lib/docker/