镜像命令
$ docker info # 检查docker服务
$ docker version # 查看docker的版本
$ docker search ubuntu # 从Docker Hub中查找ubuntu镜像
$ docker pull ubuntu # 从Docker Hub中下载ubuntu镜像
$ docker images # 查看本机存有的docker镜像
$ docker rmi $IMG_ID # 删除本机已有的docker镜像
$ docker run -i -t ubuntu /bin/bash # 运行一个可交互的容器
容器命令
$ docker ps # 列表显示运行中的容器
$ docker ps -a # 列表显示所有的容器
$ JOB=$(docker run -d ubuntu /bin/sh -c "..." # 后台运行一个新容器
$ docker stop $JOB # 停止运行中的容器
$ docker start $JOB # 启动一个停止的容器
$ docker restart $JOB # 重启一个容器
$ docker rm $JOB # 删除一个容器,需要先停止容器
Docker Registry常用命令
$ docker run -d -p 5000:5000 --name registry registry:2 # 开始一个仓库容器
$ docker pull ubuntu # 从hub中拉取镜像
$ docker tag ubuntu localhost:5000/myfirstimage # 更换镜像标签,以便于指向私有镜像仓库
$ docker push localhost:5000/myfirstimage # 把镜像推入仓库
$ docker pull localhost:5000/myfirstimage # 在其他的机器中拉取仓库中的镜像
$ docker stop registry && docker rm -v registry # 停止、删除容器和仓库中的镜像
使用Dockerfile构建Docker镜像
1、创建Dockerfile文件
$ touch Dockerfile
2、在Dockerfile中添加以下内容
# 基于哪个镜像
FROM java:8
# 将本地文件夹挂载到当前容器
VOLUME /tmp
# 复制文件到容器,也可以直接写成 ADD XX.jar /app.jar
ADD XX.jar app.jar
RUN bash -c 'touch /app.jar'
# 声明要暴露的端口
EXPOSE 8761
# 配置容器启动后执行的命令
ENTRYPOINT ["java","-Djava.security.edg=file:/dev/./urandom","-jar","/app.jar"]
3、使用docker build命令构建镜像
# 格式:docker build -t 仓库名称/镜像名称(:标签) Dockerfile的相对位置
dokcer build -t liuxinqiang/test:0.0.1 .
4、启动镜像
docker run -d -p 8761:8761 liuxinqiang/test:0.0.1