docker经常使用命令

docker build -t friendlyname .# 使用此目录的 Dockerfile 建立镜像
docker run -p 4000:80 friendlyname  # 运行端口 4000 到 90 的“友好名称”映射
docker run -d -p 4000:80 friendlyname         # 内容相同,但在分离模式下
docker ps                                 # 查看全部正在运行的容器的列表
docker stop <hash>                     # 平稳地中止指定的容器
docker ps -a           # 查看全部容器的列表,甚至包含未运行的容器
docker kill <hash>                   # 强制关闭指定的容器
docker rm <hash>              # 今后机器中删除指定的容器
docker rm $(docker ps -a -q)           # 今后机器中删除全部容器
docker images -a                               # 显示此机器上的全部镜像
docker rmi <imagename>            # 今后机器中删除指定的镜像
docker rmi $(docker images -q)             # 今后机器中删除全部镜像
docker login             # 使用您的 Docker 凭证登陆此 CLI 会话
docker tag <image> username/repository:tag  # 标记 <image> 以上传到镜像库
docker push username/repository:tag            # 将已标记的镜像上传到镜像库
docker run username/repository:tag                   # 运行镜像库中的镜像

docker exec -it 775c7c9ee1e1 /bin/bash  #进入容器
docker tag my_maven:3.5.4-jdk-8 liyc/my_maven:3.5.4-jdk-8 #重命名

#将宿主机的/home/web挂载到容器nginx的html里,实现nginx访问宿主机项目
docker run --name ops -p 80:80 -v /home/web:/usr/share/nginx/html -d nginx:latest
#查看日志 docker logs --hlep
docker logs -f container
#查看最近一分钟日志
docker logs -f --since 1m container

# 容器系统时间和宿主机时区同样
docker run -e TZ=Asia/Shanghai
or
-v /etc/localtime:/etc/localtime
# 推荐运用本身设置时区:java
-Duser.timezone=Asia/Shanghai

#删除none的镜像
docker rmi $(docker images | grep "none" | awk '{print $3}')
# 或
docker rmi $(docker images -f "dangling=true" -q)
# 或者
docker image prune -a -f
#中止容器
docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }')
#删除容器
docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }')

#主机文件复制到容器
docker cp xxx.txt contenterid:/path/

#容器文件复制到主机
docker contenterid:/path/xxx.txt /root/

 Install Composehtml

sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

#https://docs.docker.com/compose/install/

 受权java

sudo chmod +x /usr/local/bin/docker-compose
#直接docker-compose启动
docker-compose up -d

#swarm 节点启动
docker swarm init  #启动swarm
docker stack ls              # 列出此 Docker 主机上全部正在运行的应用
docker stack deploy -c <composefile> <appname>  # 运行指定的 Compose 文件
docker stack services <appname>       # 列出与应用关联的服务
docker stack ps <appname>   # 列出与应用关联的正在运行的容器
docker stack rm <appname>                             # 清除应用

docker node ls #
docker swarm leave --force #清除swarm

Install Docker Machine

curl -L https://github.com/docker/machine/releases/download/v0.12.1/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&
chmod +x /tmp/docker-machine &&
sudo cp /tmp/docker-machine /usr/local/bin/docker-machine

Install VirtualBoxnode

wget http://download.virtualbox.org/virtualbox/5.1.30/VirtualBox-5.1-5.1.30_118389_el7-1.x86_64.rpm

#wget https://www.virtualbox.org/download/oracle_vbox.asc

#sudo rpm --import oracle_vbox.asc

#rpm --checksig VirtualBox-5.1-5.1.30_118389_el7-1.x86_64.rpm

yum install VirtualBox-5.1-5.1.30_118389_el7-1.x86_64.rpm

##or
#需下载524版本的kernel
wget ftp://195.220.108.108/linux/centos/7.3.1611/updates/x86_64/Packages/kernel-devel-3.10.0-514.26.2.el7.x86_64.rpm

yum install kernel-devel-3.10.0-514.26.2.el7.x86_64.rpm

from https://www.virtualbox.org/wiki/Linux_Downloads
vi /etc/yum.repos.d/virtualbox.repo
[virtualbox]
name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - VirtualBox
baseurl=http://download.virtualbox.org/virtualbox/rpm/el/$releasever/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc

yum install VirtualBox-5.1

 

技术栈:docker-compose.ymllinux

version: "3"
services:
  web:
    # 将 username/repo:tag 替换为您的名称和镜像详细信息
    image: liyc/public-test:part1
    deploy:
      replicas: 2
      resources:
        limits:
          cpus: "0.1"
          memory: 20M
      restart_policy:
        condition: on-failure
    ports:
      - "80:80"
    networks:
      - webnet
  visualizer:
    image: dockersamples/visualizer:stable
    ports:
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      placement:
        constraints: [node.role == manager]
    networks:
      - webnet
  redis:
     image: redis
     ports:
       - "6379:6379"
     volumes:
       - ./data:/data
     deploy:
       placement:
         constraints: [node.role == manager]
     networks:
       - webnet
networks:
  webnet:

 

建立私有仓库nginx

#建立
docker run -d -p 5000:5000 --restart=always --name registry2 registry:2

#推送至私服
docker push localhost:5000/friendlyhello

docker-maven-plugin:git

https://coding.net/u/liyuchang/p/docker/git/tree/mastergithub

#构建image
mvn clean package docker:build -Dmaven.test.skip=true

#推送至dockerHub
mvn的settings.xml
<servers>
  <server>
    <id>docker-hub</id>
    <username>你的DockerHub用户名</username>
    <password>你的DockerHub密码</password>
    <configuration>
      <email>你的DockerHub邮箱</email>
    </configuration>
  </server>
</servers>

pom.xml:
<serverId>docker-hub</serverId>


​mvn clean package -Dmaven.test.skip=true -DpushImage
相关文章
相关标签/搜索