Docker常用命令整理

224 阅读2分钟

centos安装docker

查看centos内核版本 > 3.10

uname -r 
安装一些必要的系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加软件源信息

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
移除旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
更新 yum 缓存

sudo yum makecache fast
查看docker版本

yum list docker-ce --showduplicates | sort -r
安装 Docker-ce

sudo yum -y install docker-ce
启动 Docker 后台服务

sudo systemctl start docker

Ubuntu 16.04安装docker

更新 apt 包索引

sudo apt-get update

安装 apt 依赖包,用于通过HTTPS来获取仓库

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

安装最新版本的 Docker Engine-Community 和 containerd

sudo apt-get install docker-ce docker-ce-cli containerd.io

启动docker

sudo systemctl enable docker
sudo systemctl start docker

docker更改Root Dir

cd etc/docker
//新建配置文件
vim daemon.json
{
    "graph": "新路径"
}

systemctl daemon-reload
systemctl restart docker.service

docker常用命令

docker ps  #查询启动的容器
docker pa -a #查询所有容器
docker images #查询镜像
docker start/stop/restart containerId/name
docker exec -it  containerId/name bash #进去容器命令行
docker search image #查询镜像

docker安装mysql

docker search mysql
docker pull mysql
docker run -it --name hx-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --privileged=true  -v /data/docker/mysql/data:/var/lib/mysql -v /data/docker/mysql/logs:/var/log/mysql -d --restart=always mysql:latest
# 参数解释
-- name 为你运行的镜像命名
-p 映射端口 虚拟机端口 : docker端口
-e 为mysql设置密码
-- privileged=true 为mysql获取root权限
-v 挂载目录/文件 虚拟机目录/文件:docker目录/文件
-d 守护进程后台运行
-it 启动并运行
--restart=always 在docker服务重启后,自动重启mysql服务,也可以吧docker 服务作为开机启动.这样mysql就可以跟着开机启动了

docker安装mongo

docker pull mongo
docker run -it --name hx-mongo -p 27017:27017 --privileged=true -v /data/docker/mongo/db:/data/db -d --restart=always mongo:latest 

docker安装redis

docker pull redis
docker run -it --name hx-redis -p 6379:6379 --privileged=true  -d --restart=always redis:latest 

docker安装activemq

docker run -it --name activeMQ -p 61616:61616 -p 8161:8161 -e ACTIVEMQ_ADMIN_LOGIN=admin -e ACTIVEMQ_ADMIN_PASSWORD=esbot2019 -d webcenter/activemq

docker使用容器构建新镜像

docker commit comtainID/containName newImage:TAG

docker停止所有容器

docker stop $(docker ps -a -q)