操作系统:Ubuntu16.04
安装Docker
参考文章:https://blog.csdn.net/bingzhongdehuoyan/article/details/79411479
ubuntu14.04 参考文档:https://www.cnblogs.com/leolztang/p/5097278.html
1.卸载旧版本
sudo apt-get remove docker docker-engine docker-ce docker.io
2.更新apt包索引
sudo apt-get update
3.使用 https 库
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
若报如下错误,执行apt-get -f install 安装相关依赖库
4.添加Docker官方的GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
国内的:
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
5.设置stable存储库,向 source.list 中添加 Docker 软件源
官方的,国内比较慢,建议用国内的
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu$(lsb_release -cs)stable"
国内的:
sudo add-apt-repository \"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \$(lsb_release -cs)\ stable"
6.更新apt索引
sudo apt-get update
7.安装docker CE
sudo apt-get install -y docker-ce
8. 查看docker是否已启动
systemctl status docker
ubuntu14.04上使用命令:service docker status
9.启动docker
systemctl start docker
10.经典hello world
docker run hello-world
私有仓库
1.创建私有仓库
docker run -d -p 2222:2222 -v /opt/data/registry:/var/lib/registry registry
部署springboot
1.创建一个项目目录
例子:/home/docker/protServer
cd /home/docker/protServer
2.将springboot 的jar包放到该目录下。
3.创建Dockerfile文件,编辑:
FROM java:8
VOLUME /tmp
ADD protDataServer-1.0.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
4.创建镜像:
docker build -t protdataserver:1.0 .
注意:镜像名称只能小写
5.将镜像推送到仓库:
docker tag protdataserver:1.0 127.0.0.1:2222/protdataserver:1.0
docker push 127.0.0.1:2222/protdataserver:1.0
拉取镜像:
docker pull 127.0.0.1:2222/protdataserver:1.0
6.运行
docker run -d -p 7080:7080 protdataserver:1.0
-d 表示后台运行
第一个端口7080表示外部端口,第二个7080表示内部端口,这样就将外部端口映射到了内部端口。在外面就可以通过7080来访问该服务的api了。
拉取镜像
docker pull 127.0.0.1:2222/protdataserver:1.0
若报错:
http: server gave HTTP response to HTTPS client
则在/etc/docker/daemon.json中增加配置:
{"insecure-registries":["myregistry.example.com:5000"] }
参考文章:
https://yeasy.gitbooks.io/docker_practice/repository/registry.html
https://chaolongzhang.github.io/docs/docker/
https://yq.aliyun.com/ziliao/307245
docker 命令
查看镜像
docker images
搜索镜像
docker search 镜像名称[:tag]
删除镜像
docker rmi image_id
有时会报错关联容器未停止。则停止删除容器关联的容器即可
若报错: image is referenced in multiple repositories,则根据repostory_id:tag 删除
查看运行的容器
docker ps -a
查看容器
docker container ls -a
查看容器运行日志
docker container logs [container id or container name]
删除容器
docker rm container_id
docker 部署redis
docker pull redis
docker run -d --name myredis -p 6379:6379 redis --requirepass "mypassword"
删除none的镜像
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
docker images|grep none|awk '{print $3 }'|xargs docker rmi
docker UI
docker pull portainer/portainer
docker run -d --name portainer --restart=always -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /etc/hosts:/etc/hosts portainer/portainer
网友评论