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
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