目录
- Docker手册
- 1、Ubuntu安装Docker
- 2、配置非root用户可启动Docker
- 3、Docker基本说明
- 4、MySQL
- 5、Redis
- 6、Kafka
Docker手册
v1.1
1、Ubuntu安装Docker
删除旧版本
更新源
安装以下包以使apt可以通过HTTPS使用存储库(repository)
添加Docker官方的GPG密钥
使用下面的命令来设置stable存储库:
再更新一下apt包索引
安装最新版本的Docker CE
所有命名如下:
sudo apt-get remove docker docker-engine docker-ce docker-ce-cli docker.io
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce
2、配置非root用户可启动Docker
创建docker组
sudo groupadd docker
将当前用户添加到docker组
sudo gpasswd -a ${USER} docker
或用root执行:
gpasswd -a java-user docker
重启docker
systemctl restart docker
用户需要重新登录一下
3、Docker基本说明
我们内部所有项目的Docker文档默认放在:/var/docker/
若迁移或备份,一般备份这个目录下相应服务即可
其余使用方法,参考【4、MySQL】部分的例子
一些详细的参数配置可到网站查询:https://hub.docker.com/
其余常用命令
docker ps # 列出所有正在运行的容器
docker ps -a # 查看容器列表(含未启动的)
docker images # 查看下载的镜像
docker stop XXX # 停止镜像
docker rm 容器id # 删除容器,多个ID以空格分隔
docker rmi 镜像id # 删除镜像
# 查看挂载数据卷:
docker volume ls
# 清空所有数据卷:
docker volume rm 'docker volume ls -q'
# 删除单个数据卷:
docker volume rm 一长串VOLUME_NAME
# 进入容器
docker exec -it docker_name /bin/bash
# 复制文件
docker container cp LAM:/var/lib/ldap-account-manager/config/lam.conf /var/docker/lam/config/
批量操作命令
docker stop $(sudo docker ps -a -q) # stop停止所有容器
docker rm $(sudo docker ps -a -q) # remove删除所有容器
docker rmi $(docker images -q) # 删除全部镜像
Dorker启动停止
systemctl start docker
systemctl stop docker
4、MySQL
下载镜像,然后启动
docker pull mysql
docker run -di --name mysqlserver -p 3308:3306 -v /var/docker/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=oadbpwd mysql
3308是外部映射的端口(-p 参数前面是本机端口,后面是容器内的端口)
-v 参数指定外部映射的磁盘
--name 指定该容器的名称,重启等会用到
--restart=always:可以设置这个参数,Docker启动时自动运行
启动停止命令
docker start mysqlserver
docker stop mysqlserver
docker restart mysqlserver
若容器有问题可以删除重建:
docker rm mysqlserver
由于映射了外部磁盘,所以数据都还在
进入容器执行命令
docker exec -it mysqlserver /bin/bash
5、Redis
安装启动Redis
docker pull redis
docker run -itd --name redis-server -p 6379:6379 redis
6、Kafka
安装启动Kafka,这个镜像我只用来做过试验,但应该有更新更好的镜像,请自行补充
docker pull spotify/kafka
docker run --name kafka -p 2181:2181 -p 9092:9092 --env ADVERTISED_HOST=54.200.232.212 --env ADVERTISED_PORT=9092 spotify/kafka
docker run kafka