docker笔记

docker安装

如果操作系统使用debian/deepin/ubuntu系列,安装docker-ce(社区版本,相对还有docker-ee),可以采用aliyun的脚本安装:

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

docker镜像网址

1.aliyun镜像网站 https://dev.aliyun.com/search.html 2.docker hub https://hub.docker.com/

docker加速方法

针对Docker客户端版本大于1.10的用户,您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://30ied0wq.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

docker常用命令

启动/停止docker服务:systemctl docker start/stop
查看docker镜像列表: docker images
查看docker容器列表: docker ps/docker ps -aq
删除容器: docker rm [容器id]/docker rm $(docker ps -aq)
删除镜像: docker rmi
登陆:docker login --username=用户id   地址
拉取镜像:docker pull 
导出镜像:docker export 容器id > *.tar
导入镜像:docker load < *.tar
标签:    docker tag 镜像id 标签或与仓库地址相同名字:版本
提交到仓库:docker push 仓库地址:[镜像版本号]
容器保存到镜像:docker commit 容器id 标签
进入容器: docker exec -it 容器id /bin/bash(/bin/sh或bash)
启动镜像:docker run -v 本地目录:映射目录 -p 容器端口:主机端口 镜像id /bin/bash(/bin/sh或bash)
当然还有其他参数,可以查找手册

docker-compose使用

后续补充

举例:

1.docker search mongo
2.docker pull mongo:3.2
3.docker run -p 27017:27017 -v $PWD/db:/data/db -d mongo:3.2
4.docker run -it mongo:3.2 mongo --host 172.17.0.1
5.docker exec -it mongo /bin/bash

安装一些常用镜像,参考:

http://www.runoob.com/docker/docker-install-redis.html

docker 启动tcp连接

ubuntu vim /etc/default/docker

DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"

centos: vim /lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

编写Dockerfile文件

在springcloud中使用Docker,结合maven使用Dockerfile文件,首先在pom上添加


        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
            
                com.spotify
                docker-maven-plugin
                0.4.3
                
                    ${docker.image.prefix}/${project.artifactId}
                    src/main/docker
                    
                        
                            /
                            ${project.build.directory}
                            ${project.build.finalName}.jar
                        
                    
                
            
            
        
    

修改application.yml文件

server:
  port: 8761
eureka:
  instance:
    prefer-ip-address: true
  client:
    registerWithEureka: false
    fetchRegistry: false

IntellijIdea的Module中添加Dockerfile文件,与pom.xml所在目录同级,但有个问题没仔细研究,在编译过程不会自动拷贝到eureka-1.0-SNAPSHOT.jar生成目录下,手动拷贝一下就行。

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD eureka-1.0-SNAPSHOT.jar app.jar
#RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
EXPOSE 10000

进入命令行,cd到pom.xml所在目录

mvn clean
mvn package docker:build

解决当前用户没有docker访问权限问题

sudo groupadd docker

sudo gpasswd -a ${USER} docker

sudo service docker restart或sudo systemctl restart docker

su root

docker ps

Shipyard安装

curl -sSL https://shipyard-project.com/deploy | bash -s

转载于:https://my.oschina.net/u/657516/blog/1486886

你可能感兴趣的:(docker笔记)