Docker使用(持续更新中)

2018-10-23  本文已影响25人  倔犟的贝壳

操作系统: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

上一篇 下一篇

猜你喜欢

热点阅读