Docker常用命令速记

Docker简单例子

Posted by 壹芝 on March 12, 2018

Docker常用命令速记

整理自本人的有道历史云笔记

安装并启动 Docker

curl -fsSL https://get.docker.com | sh

sudo systemctl start docker

常用命令

docker 镜像相关操作

docker search tomcat

docker pull tomcat:8.5

docker images

docker rmi tomcat [-f]

docker 容器相关操作

docker run -p 80:80 -d –name nginx -v /usr/data/nginx/html/:/usr/share/nginx/html nginx

docker ps [-a]

docker stop nginx

docker rm nginx

进入容器并安装 busybox

docker exec -it nginx /bin/bash

apt-get update / install procps / busybox

容器导出和导入操作

export container: docker export mysql57 > mysql57.tar

import container: docker import mysql57.tar mysql57new

run import container: docker run –name mysql57-new -p 33080:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql57new:latest /entrypoint.sh mysqld

save image to file: docker save -o mysql57image.tar mysql:5.7

load image file: docker load –input mysql57image.tar

容器和宿主机之间文件互导

cp file from docker: docker cp mytomcat:/usr/local/tomcat/conf /root/conf

cp file to docker: docker cp /root/conf mytomcat:/usr/local/tomcat/conf

默认的 Images 路劲

/var/lib/docker/

查看 docker 容器资源使用统计信息

docker stats

docker top nginx

常用镜像脚本

Nginx

docker run -p 80:80 -d –name mynginx -v /usr/data/nginx/html/:/usr/share/nginx/html nginx

Maven

docker run -it –rm -v /root/code:/usr/src/mymaven -v /root/.m2:/root/.m2 -w /usr/src/mymaven maven mvn clean -DskipTests=true package -P prod

Tomcat

docker run -p 8080:8080 -d –name mytomcat -v /usr/data/tomcat/webapps/:/usr/local/tomcat/webapps/ -v /usr/data/tomcat/logs:/usr/local/tomcat/logs -v /usr/data/tomcat/conf:/usr/local/tomcat/conf tomcat:8.5

docker run -p 80:8080 -d –name mytomcat -v /usr/data/tomcat/webapps/:/usr/local/tomcat/webapps/ -v /usr/data/tomcat/logs:/usr/local/tomcat/logs -v /usr/data/tomcat/conf:/usr/local/tomcat/conf -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime tomcat:8.5

Mysql

docker run –name mysql57 -p 33060:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 –character-set-server=utf8mb4 –collation-server=utf8mb4_unicode_ci

docker exec -it mysql57 /bin/bash

/usr/bin/mysql -uroot -p123456

CREATE USER ‘fangzheng’@’%’ IDENTIFIED BY ‘fangzheng’;

create database fangzheng;

GRANT all privileges ON fangzheng.* TO ‘fangzheng’@’%’;

flush privileges;

Redis

docker run -p 6379:6379 -v /usr/data/redis:/data -d redis:5.0 redis-server –appendonly yes 4

RabbitMQ

docker run -d –hostname my-rabbit –name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 rabbitmq:management

zookeeper

docker run –name myzk -p 2181:2181 -d zookeeper:3.4

prometheus

docker run –name prometheus -d -p 9090:9090 prom/prometheus