liyansring 2020-08-15
v1.1
删除旧版本
更新源
安装以下包以使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
创建docker组
sudo groupadd docker
将当前用户添加到docker组
sudo gpasswd -a ${USER} docker
或用root执行:
gpasswd -a java-user docker
重启docker
systemctl restart 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
下载镜像,然后启动
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
安装启动Redis
docker pull redis docker run -itd --name redis-server -p 6379:6379 redis
安装启动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