首页 > 其他 > 详细

手把手教你Docker基础命令和Dockerfile介绍

时间:2019-11-09 15:43:13      阅读:87      评论:0      收藏:0      [点我收藏+]

1.基础命令

docker pull   拉取镜像到本地 

默认是在hub.docker.com拉取,拉取是最新的版本,可以在后面指定版本":"

 技术分享图片 

docker images 列出所有的镜像

 技术分享图片

docker run            根据某个镜像创建容器
-d                    让容器在后台运行,其实就是一个进程
--name                给容器指定一个名字
-p                将容器的端口映射到宿主机的端口
docker run -d --name my-tomcat -p 9090:8080 tomcat

技术分享图片

访问成功

 技术分享图片

docker ps -a      查看containers

docker exec -it 进入到某个容器中并交互式运行
  docker exec -it containerid /bin/bash 
  
  exit              退出容器里面

技术分享图片

docker stop 00a2bb8caee5         停止容器运行的应用
docker rm -f $(docker ps -aq) 先删除所有container docker rmi -f $(docker images) 删除所有的images docker run -d --name my-mysql -p 3301:3306 -e MYSQL_ROOT_PASSWORD=123456 --privileged mysql 创建mysql容器

 2.Dockerfile文件命令介绍

FROM openjdk:8-jdk  //指定基础镜


//
在镜像内部执行一些命令,比如安装软件,配置环境等,换行可以使用
RUN groupadd -r mysql && useradd -r -g mysql mysql

//设置变量的值,ENV MYSQL_MA JOR 5.7,可以通过docker run --e key=value修改,后面可以直接使用${MYSQL_MA JOR}
ENV MYSQL_MAJOR 5.7

VOLUME /var/lib/mysql   //指定数据的挂在目录
  
 
//将主机的文件复制到镜像内,如果目录不存在,会自动创建所需要的目录,注意只是复制,不会提取和解压
COPY docker-entrypoint.sh /usr/local/bin/
 
 
//将主机的文件复制到镜像内,和COPY类似,只是ADD会对压缩文件提取和解压
ADD application.yml /etc/it/
 
 
//指定镜像的工作目录,之后的命令都是基于此目录工作,若不存在则创建
WORKDIR /usr/local
WORKDIR tomcat RUN
touch test.txt
//会在/usr/local/tomcat下创建test.txt文件
 
 
//容器启动的时候默认会执行的命令,若有多个CMD命令,则最后一个生效
CMD ["mysqld"] 或CMD mysqld
 
 
//和CMD的使用类似,和cmd不同的是docker run执行时,会覆盖CMD的命令,而ENTRYPOINT不会
ENTRYPOINT ["docker-entrypoint.sh"]

 

//指定镜像要暴露的端口,启动镜像时,可以使用-p将该端口映射给宿主机
EXPOSE 3306

 

 

 

 

 

 

手把手教你Docker基础命令和Dockerfile介绍

原文:https://www.cnblogs.com/java-chicken/p/11825013.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!