Docker手册

Posted liu-ke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker手册相关的知识,希望对你有一定的参考价值。

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

以上是关于Docker手册的主要内容,如果未能解决你的问题,请参考以下文章

Docker的常规应用手册

转载:Emmet使用手册

Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段

java项目小手册

前端开发必备!Emmet使用手册(转自 http://www.w3cplus.com/tools/emmet-cheat-sheet.html)

Docker手册