docker基本命令

2017-10-17 summer 更多博文 » 博客 » GitHub »

docker

原文链接 http://fee.im/2017/10/docker-basic/
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。


常用命令

  • 列出本地的docker镜像列表
  • docker images

  • 从远程拉取指定的镜像列表

  • docker pull ubuntu:16.04

  • 删除本地镜像

  • docker rmi 【image id】

  • 查看正在运行的容器

  • docker ps

  • 查看终止状态的容器

  • docker ps -a

  • 停止运行中的容器

  • docker stop 【container id】

  • 启动停止中的容器

  • docker start 【container id】

  • 删除容器

  • docker rm 【container id】

  • 进入容器

  • docker attach 【container id】

  • 启动并进入容器内

  • docker run -it ubuntu:16.06 bash

  • 启动并进入容器,退出是删除容器

  • docker run -it --rm ubuntu:16.04 bash

构建自己的docker镜像

1、 基于ubuntu16.04构建自己的docker镜像,同时按照jdk环境,首先编写Dockerfile文件

# ubuntu 16.04 base
FROM ubuntu:16.04
MAINTAINER summer<sdyz5210gmail.com>

# install vim wget
RUN apt-get update && apt-get -y install vim wget

#set work dir
WORKDIR /usr/local

# download jdk
RUN wget --no-cookies --no-check-certificate --header "Cookie:gpw_e24=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk8-downloads-2133151.html;oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz

#install jdk
RUN tar -zxf jdk-8u144-linux-x64.tar.gz
#RUN rm -rf jdk-8u144-linux-x64.tar.gz

#set jdk env
ENV JAVA_HOME=/usr/local/jdk1.8.0_144
ENV PATH=$JAVA_HOME/bin:$PATH
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

2、 构建

在Dockerfile当前目录构建:

docker build -t sdyz5210/ubuntu16.04 .

3、 提交到docker仓库

docker login --username=xxx --password=xxx
docker push sdyz5210/ubuntu:16.04

在nginx中运行swagger服务

1、 直接从仓库拉取

docker pull nginx

2、 启动部署nginx

docker run -it --rm nginx bin/bash

3、将swagger-ui部署在nginx中,静态资源存在在宿主机器上

将静态目录映射到nginx的部署目录中

docker run --name nginx-test -d -p 8080:80 -v /Users/mac/Documents/workspaces/dockers/swagger/swagger-ui-master/dist:/usr/share/nginx/html nginx

4、将swagger-editer部署在nginx,静态资源存放在宿主主机上

docker run --name nginx-test -d -p 8080:80 -v /Users/mac/Documents/workspaces/dockers/swagger/swagger-editor:/usr/share/nginx/html nginx

基于nginx镜像,打包自己的swagger服务

Dockerfile文件的内容如下,前提条件是需要把swagger的资源下载到本地,放在Dockerfile同级目录下:

FROM nginx
#可以根据自己的需求进行nginx的配置,我这里使用默认配置
#ADD nginx.conf /etc/nginx/
ADD swagger-ui/dist /usr/share/nginx/html/swagger-ui
ADD swagger-editor /usr/share/nginx/html/swagger-editor