Docker Installation and common commands

A, Docker installation

1, Docker mounting
Tutorial

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

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

Two, Docker commonly used commands

2, view all running container

docker ps

3, query all containers 

docker ps -a

4. The name of the query image

docker search imageName

5, the query image is greater than the star 30

docker search -s 30 imageName

6, all running queries container id (Note: "- qa" Search container id)

docker ps -q

7, closed to stop the containers (1: id id container according stopped running; 2, stop the container according to the container name)

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

8, running into the container to interoperate

docker exec -it containerName /bin/bash

9, view the container logs

docker logs -f -t containerName

10, container heavy naming

docker rename oldContainerName newContainerName

11, according to delete this mirror image id

docker rmi imageId(镜像id)

12, run container

docker start containerName

13, Download image

docker pull imageName

14, docker mount implementation file (e.g.: Nginx nginx.conf local service container mount (path: / etc / nginx /) inside, if a plurality of files may be used to mount a plurality of "-v" directly add i.e. can, if you want to mount the file you need to prepare the appropriate nginx.conf file in the current directory ($ PWD /))

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

15, mount a plurality of files (for example: Tomcat implemented configuration, log loading)

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, see container details (contains all the relevant information mounting information)

docker inspect containerName

Three, Dockerfile common commands

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:用来构建镜像过程中设置环境变量

Fourth, according Dockerfile Tomcat vessel and implement custom configuration jdk1.8 environment (Dockerfile document follows)

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, run Dockerfile file (imageName: generated image name; 0.1:;. "" Current mirror version: that Dockerfile file in the current directory)

docker build -t imageName:0.1 .

Five, to be submitted to the custom mirrored Ali cloud

$ 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万+

Guess you like

Origin blog.csdn.net/qq_31150503/article/details/87622146