利用了阿里云的 " Docker CE " 镜像源站进行安装。安装命令如下:
# step 1: 安装必要的系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
测试 docker 是否安装成功,并运行 hello-world:
sudo docker run hello-world
若看到以下内容,则证明安装成功:
Hello from Docker! This message shows that your installation appears
to be working correctly. To generate this message, Docker took the
following steps:
- The Docker client contacted the Docker daemon.
- The Docker daemon pulled the “hello-world” image from the Docker Hub.
(amd64)- The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.- The Docker daemon streamed that output to the Docker client, which sent it
to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share
images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/ For more examples and ideas, visit:
https://docs.docker.com/get-started/
基础命令如下:
# Step 5: 检查docker的版本
docker -version
# Step 6: 启动docker
sudo systemctl start docker
# Step 7: 检查docker启动状态
sudo systemctl status docker
Swagger-editor and Swagger-ui in Docker :
# Step 1: 下载swagger-editor的容器
docker pull swaggerapi/swagger-editor
docker run -d -p 80:8080 swaggerapi/swagger-editor
这里将容器的 8080 端口暴露给 localhost 的 80端口,在浏览中输入:localhost:80,就可以在容器中编辑api文档,这里很容易出现端口占用问题:
报错:
docker: Error response from daemon: driver failed programming external connectivity on endpoint romantic_wing (d5fd42844e1838b26c123b002b6c0f5f3aaadcd7e8e8ff922cb2c23c33891bf4): Bind for 0.0.0.0:80 failed: port is already allocated.
使用:netstat -lnp|grep 80
命令检查端口是否被占用,并结束相应进程
# Step 9: 下载swagger-ui的容器
docker pull swaggerapi/swagger-ui
json文件挂在到容器中
docker run -p 80:8080 -e SWAGGER_JSON=/foo/swagger.json -v /var/www/Downloads:/foo swaggerapi/swagger-ui
- -e:执行容器中/foo/swagger.json
- -v:将/Users/fanfan/Downloads中的swagger.json挂在到 /foo中执行
没有将swagger.json
在容器内修改的好处:在外部修改后容器可以直接运行,如果在容器内容修改需要在compile一次生成新的容器,这就复杂了哈
web 验证:http://127.0.0.1:80