docker 一些常用命令

CentOS7.x安装Docker

# 安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加Docker软件包源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装Docker CE

yum install -y docker-ce

# 启动Docker服务并设置开机启动

systemctl start docker

systemctl enable docker

官方文档:https://docs.docker.com

阿里云源:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

-------------------------------------------------

管理镜像常用命令

创建容器

容器限制

 

示例:

内存限额: 允许容器最多使用500M内存和100M的Swap,并禁用 OOM Killer:

docker run -d --name nginx03 --memory="500m" --memory-swap=“600m" --oom-kill-disable nginx

CPU限额: 允许容器最多使用一个半的CPU:

docker run -d --name nginx04 --cpus="1.5" nginx

允许容器最多使用50%的CPU:

docker run -d --name nginx05 --cpus=".5" nginx 

---------------------------------------------------------------------

管理容器常用命令

 ----------------------------------------------------------------

Docker提供三种方式将数据从宿主机挂载到容器中:

• volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。保存数据的最佳方式。

• bind mounts-:将宿主机上的任意位置的文件或者目录挂载到容器中。

• tmpfs:挂载存储在主机系统的内存中,而不会写入主机的文件系统。如果不希望将数据持久存储在任何位置,可以使用 tmpfs,同时避免写入容器可写层提高性能

Volume

管理卷:

# docker volume create nginx-vol

# docker volume ls

# docker volume inspect nginx-vol

用卷创建一个容器:

# docker run -d --name=nginx-test --mount src=nginx-vol,dst=/usr/share/nginx/html nginx

# docker run -d --name=nginx-test -v nginx-vol:/usr/share/nginx/html nginx

清理:

# docker stop nginx-test

# docker rm nginx-test

# docker volume rm nginx-vol

注意: 1. 如果没有指定卷,自动创建。 2. 建议使用--mount,更通用。

Bind Mounts

用卷创建一个容器:

# docker run -d -it --name=nginx-test --mount type=bind,src=/app/wwwroot,dst=/usr/share/nginx/html nginx

# docker run -d -it --name=nginx-test -v /app/wwwroot:/usr/share/nginx/html nginx

验证绑定:

# docker inspect nginx-test

清理:

# docker stop nginx-test

# docker rm nginx-test

注意: 1. 如果源文件/目录没有存在如果挂载目标在容器中非空目录,则该目录现有内容将被隐藏。 2. 不会自动创建,会抛出一个错误。

Build镜像

Usage: docker build [OPTIONS] PATH | URL | - [flags] Options:

-t, --tag list# 镜像名称

-f, --file string # 指定Dockerfile文件位置

# docker build -t shykes/myapp .

# docker build -t shykes/myapp -f /path/Dockerfile /path

# docker build -t shykes/myapp http://www.example.com/Dockerfile

---------------------------------------------------------------------------------------------------------------------

快速部署LNMP网站平台

1、自定义网络

docker network create lnmp

2、创建Mysql容器

docker run -d --name lnmp_mysql --net lnmp --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress mysql:5.7 --character-set-server=utf8

3、创建PHP容器

docker run -d --name lnmp_php --net lnmp --mount src=wwwroot,dst=/wwwroot php:v1

4、创建Nginx容器

docker run -d --name lnmp_nginx --net lnmp -p 88:80 --mount src=wwwroot,dst=/wwwroot nginx:v1

------------------------------------------------------------

Harbor部署

# tar zxvf harbor-offline-installer-v1.6.1.tgz

# cd harbor

# vi harbor.cfg

hostname = 10.206.240.188

ui_url_protocol = http

harbor_admin_password = 123456

# ./prepare

# ./install.sh

Harbor基本使用

1、配置http镜像仓库可信任

# vi /etc/docker/daemon.json {"insecure-registries":["reg.ctnrs.com"]}

# systemctl restart docker

2、打标签

# docker tag centos:6 reg.ctnrs.com/library/centos:6

3、上传

# docker push reg.ctnrs.com/library/centos:6

4、下载

# docker pull reg.ctnrs.com/library/centos:6

原文地址:https://www.cnblogs.com/daizhengyang/p/13272429.html