程序员实用工作技能之Docker
Docker常用命令;运行docker镜像;删除容器;构建docker镜像;删除镜像;查看正在运行的镜像
Docker 是一个开源的应用容器引擎,基于Go语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
# docker常用命令
# 获取镜像:docker pull image_name
# (创建容器)运行镜像:docker run -it image_name /bin/bash
# (创建容器)运行镜像(挂载本地目录test到容器内的/root/test):docker run -it -v /test:/root/test image_name /bin/bash
# 删除镜像:docker image rm image_id
# 进入容器:docker exec -it container_id /bin/bash
# 删除容器 docker rmi container_id/image_id
# 清理docker残余临时文件:docker image prune
# 查看正在运行的docker进程:docker ps
# 查看所有的docker进程:docker ps -a
# 根据标签删除镜像:docker image rm image_name:v1 或者:docker rmi image_name:v
# 根据ID删除镜像: docker image rm image_id 或者:docker rmi image_id
# 根据容器id启动容器:docker start container_id
# 停止容器:docker stop container_id
# 将容器导出为tar文件:docker export -o output_file_name.tar container_id
# 将压缩包中的镜像文件导入镜像库中并重命名,及版本标签:docker import output_file_name.tar new_image_name:v1.0
# 另存镜像并重命名:docker tag new_image_name:v1.0 my_image_name:v2.0
# 将镜像push到局域网的镜像库中:docker push my_image_name:v2.0
# 退出容器并停止:Ctrl+D
# 退出容器,保持容器运行:Ctrl+P+Q
# 将容器保存为镜像:docker commit -a 'autho_name' -m 'image description' container_id image_name:v1.0
# 利用dockerfile构建镜像: docker build --rm --tag docker_name:v1.0 -f /path/Dockerfile .
# 清理删除已经退出的容器:docker container rm $(docker ps -a |grep Exited |awk '{print $1}')
# 本机正在运行的容器:docker container ls
# 删除容器:docker rm -f container_id
# 容器时间和宿主机的时间进行同步
docker run -it -v /etc/localtime:/etc/localtime:ro --restart=always --net=host image_name:version /bin/bash
利用Dockerfile制作Docker镜像
示例
##Dockerfile
FROM base_image_name
COPY etcfile /etcfile
COPY Miniconda3-4.3.31-Linux-x86_64.sh /opt
ENV PATH /opt/miniconda/bin:$PATH
RUN /bin/bash /opt/Miniconda3-4.3.31-Linux-x86_64.sh -b -p /opt/miniconda \
&& echo $PATH && rm -f /opt/Miniconda3-4.3.31-Linux-x86_64.sh \
&& cp /etcfile/sources.list /etc/apt/ && rm -rf /etc/apt/sources.d/* \
&& apt-get update
RUN apt-get -y install gcc g++ nano python-dev libsasl2-dev sasl2-bin \
libsasl2-2 libsasl2-dev libsasl2-modules libsasl2-modules-gssapi-mit krb5-user libkrb5-dev \
&& cp /etcfile/krb5.conf /etc/ \
&& mkdir ~/.pip && cp /etcfile/pip.conf ~/.pip/ \
&& pip install pyhive thrift thrift-sasl hdfs[kerberos]
写好Dockerfile以后执行docker build命令进行镜像的制作,等待几分钟便可以打好镜像,
docker build --rm --tag image_name:v1.0 -f /path/Dockerfile .
更多推荐
所有评论(0)