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
相關文章
相關標籤/搜索