Home

NUNU

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

Flag Counter