Docker 安装以及常用命令

一、Docker安装

1、Docker安装
参考教程

 ubuntu: https://blog.csdn.net/u010889616/article/details/80170767

 centos: https://www.cnblogs.com/wang-yaz/p/10429899.html

二、Docker常用命令

2、查看所有运行中的容器

docker ps

3、查询所有容器 

docker ps -a

4、根据名称查询镜像

docker search imageName

5、查询star大于30的镜像

docker search -s 30 imageName

6、查询所有运行中容器id(注:“-qa”查询所有容器id)

docker ps -q

7、关闭、停止容器(1:根据id停止正在运行的容器id;2、根据容器名停止容器)

docker stop $(docker ps -q)
docker stop containerName

8、进入正在运行的容器进行交互操作

docker exec -it containerName /bin/bash

9、查看相应容器日志信息

docker logs -f -t containerName

10、容器重命名

docker rename oldContainerName newContainerName

11、根据镜像id删除此镜像

docker rmi imageId(镜像id)

12、运行容器

docker start containerName

13、下载镜像

docker pull imageName

14、docker实现文件挂载(例如:Nginx将本地nginx.conf挂载到服务容器(路径:/etc/nginx/)内,如果挂载多个文件可以使用多个 "-v"直接进行添加即可,如果要挂载文件需要先在当前路径($PWD/)下准备相应的nginx.conf文件)

docker run -d -p8083:80 --name nginx -v $PWD/nginx.conf:/etc/nginx/nginx.conf:ro nginx

15、挂载多个文件(例如:Tomcat实现配置、日志挂载)

docker run --name tomcat_t -d -p40001:8080 -v $PWD/conf:/usr/local/tomcat/conf -v $PWD/webapps/:/usr/local/tomcat/webapps/ -v $PWD/logs/:/usr/local/tomcat/logs/ tomcat

16、查看容器详情(所有相关信息包含挂载信息)

docker inspect containerName

三、Dockerfile常用指令

FROM:基础镜像,当前镜像基于那个镜像的
 
MAINTAINER:镜像维护者的姓名和邮箱地址
 
RUN: 执行过程中需要执行的linux命令

WORKDIR:指定容器后,终端默认登陆的进来工作目录,一个落脚点

ADD:将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包

COPY:类似ADD,拷贝文件和目录到镜像中。将从构建上下文目录中<原路径>的文件/目录复制到新的一层的镜像内的<目标路径位置>  1、COPY src dest   2、COPY ["src","dest"]

VOLUME: 通过 VOLUME 指令创建的挂载点,本地可修改 直接生效,多个容器可以共用实现同步效果 (执行Dockerfile文件后直接生成文件路径,实现本地数据进行挂载)

ENV:定义环境变量的同时,可以引用已经定义的环境变量

EXPOSE:告诉 Docker 服务端容器暴露的端口号,供互联系统使用

CMD:命令设置容器启动后默认执行的命令及其参数,但CMD设置的命令能够被docker run命令后面的命令行参数替换

ENTRYPOINT:指定启动容器时执行的命令, ENTRYPOINT的目的和CMD一样,指定容器启动程序及参数 命令附加不覆盖

ONBUILD: 当构建一个被继承的Dockfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发

ENV:用来构建镜像过程中设置环境变量

四、根据Dockerfile实现自定义Tomcat容器并配置jdk1.8环境(Dockerfile文件内容如下)

FROM ubuntu18
# 定义作者
MAINTAINER whl <[email protected]>
# 添加jdk1.8文件并进行解压操作
ADD jdk-8u191-linux-x64.tar.gz /usr/local/
# 添加tomcat9文件并进行解压操作
ADD apache-tomcat-9.0.14.tar.gz /usr/local/
# 安装 vim
RUN apt-get install -y vim
# 配置jdk环境变量
ENV JDKPATH /usr/local/jdk1.8.0_191
# 配置tomcat环境变量
ENV TOMCATPATH /usr/local/apache-tomcat-9.0.14
# 设置工作空间路径
WORKDIR /usr/local/
# 复制文件到容器内
COPY readMe.txt /usr/local/shiku/readMe.txt
# 设置环境变量
ENV JAVA_HOME $JDKPATH
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME $TOMCATPATH
ENV CATALINA_BASE $TOMCATPATH
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
# 设置端口号
EXPOSE 8089
# 启动tomcat
# ENTRYPOINT ["/usr/local/apache-tomcat-9.0.14/bin/startup.sh"]
# CMD ["/usr/local/apache-tomcat-9.0.14/bin/catalina.sh","run"]
CMD /usr/local/apache-tomcat-9.0.14/bin/startup.sh && tail -f /usr/local/apache-tomcat-9.0.14/logs/catalina.out

1、运行Dockerfile文件(imageName:生成的镜像名字;0.1:当前镜像的版本号;“.”:表示当前路径下的Dockerfile文件)

docker build -t imageName:0.1 .

五、将自定义的镜像提交至阿里云

$ sudo docker login --username=阿里云账号 registry.cn-hangzhou.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/whl_docker/redis:[镜像版本号]
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/whl_docker/redis:[镜像版本号]
发布了21 篇原创文章 · 获赞 8 · 访问量 40万+

猜你喜欢

转载自blog.csdn.net/qq_31150503/article/details/87622146