19 Sep 2018
docker 常用命令
启动
systemctl start docker
加入开机启动
systemctl enable docker
安装docker
yum update
sudo yum remove docker docker-common docker-selinux docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
yum install docker-ce
yum list docker-ce --showduplicates | sort -r
yum install docker-ce.x86_64
yum list docker-ce --showduplicates | sort -r
yum install docker-ce-18.06.0.ce
docker version
从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。
Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。
移除旧的版本:
$ 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
安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 缓存:
sudo yum makecache fast
安装 Docker-ce:
sudo yum -y install docker-ce
启动 Docker 后台服务
sudo systemctl start docker
进入docker命令行
docker exec -it pnunu-mysql bash
从Docker检索mysql镜像
docker search mysql
镜像下载
docker pull mysql
查看本地镜像列表
docker images
设置Mysql的Docker镜像开机自动运行
docker run –restart=always –name first-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
常用Docker指令及参数
1>.Docker镜像指令 镜像检索 Docker的镜像都放置在Docker官网的Docker Hub上
地址是https://registry.hub.docker.com。可在该网站搜索镜像,也可以用命令“docker search 镜像名”
(如:docker search redis)检索。
镜像下载
docker pull 镜像名
查看本地镜像列表
docker images
删除镜像
docker rmi image-id
删除所有镜像
docker rmi $(docker images -q)
2>.Docker容器指令
运行镜像为容器
docker run --name container-name -d image-name
其中--name市委容器取个名称,-d表示detached,意味着执行完这句命令后控制台将不会被阻碍,可继续输入命令操作。如:
docker run --name test-redis -d redis
查看运行中的容器列表
docker ps
通过下列命令可查看运行和停止状态的容器:
docker ps -a
停止容器
通过容器名称或容器ID停止容器
docker stop container-name/container-id
如:
docker stop test-redis
启动容器
通过容器名称或容器ID启动容器
docker start container-name/container-id
如:
docker start test-redis
设置容器开机启动
使用在Docker run的时候使用--restart参数来设置。
no - container:不重启
on-failure - container:退出状态非0时重启
always:始终重启
如:
docker run --restart=always --name first-mysql -p 3306:3306 -e
MYSQL\_ROOT\_PASSWORD=123456 -d mysql:latest
端口映射
Docker容器中运行的软件所使用的端口,需要映射到当前主机的端口上才能访问。
Docker的端口映射通过一个-p参数来实现。例如,我们将Redis容器的6379端口映射到本机的6378端口:
docker run -d -p 6378:6379 --name port-redis redis
删除容器
docker rm container-id
删除所有容器
docker rm $(docker ps -a -q)
查看当前容器日志
docker logs container-name/container-id
如:
docker logs port-redis
登陆容器
运行中的容器其实是一个功能完备的Linux操作系统,所以我们可以像常规的系统一样登录并访问容器。
我们可以使用如下命令,登录访问当前容器,登陆后我们可以在容器中进行常规的Linux系统操作命令,
还可以使用exit命令退出登录:
docker exec -it container-id/container-name bash
docker mysql 启动
#!/bin/bash
cur_dir=`pwd`
docker stop pnunu-mysql
docker rm pnunu-mysql
docker run --name pnunu-mysql -v ${cur_dir}/conf:/etc/mysql/conf.d -v ${cur_dir}/data:/varlibmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.17
my.cnf
[mysqld]
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
docker redis 启动
#!/bin/bash
cur_dir=`pwd`
docker stop pnunu-redis
docker rm pnunu-redis
docker run -idt -p 6379:6379 -v ${cur_dir}/data:/data --name pnunu-redis -v ${cur_dir}/redis.conf:/etc/redis/redis_default.conf -d redis:4.0.11
# docker run -idt -p 6379:6379 -v ${cur_dir}/data:/data --name pnunu-redis -v ${cur_dir}/redis.conf:/etc/redis/redis_default.conf hub.c.163.com/public/redis:2.8.4
业精于勤,荒于嬉; 行成于思,毁于随。
pnunu
at 16:08