Docker 使用
Docker简介
Docker 架构
环境搭建
Docker 安装
- Linux(redhat系列) 参考:
1.卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.社区版安装(docker-ce)
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
#最新版安装
#如果实在CentOS8上进行安装,需要执行此依赖的安装配置
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
yum erase podman buildah #卸载centos8 上自带的podman容器软件
sudo yum install docker-ce docker-ce-cli containerd.io
#安装指定版本
1.版本查看
yum list docker-ce --showduplicates | sort -r
如:
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
#2.版本安装
#VERSION_STRING=(第一个:到第一个-间的就是版本号,如:3:18.09.1-3.el7 --->18.09.1)
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
##启动docker进程
sudo systemctl start docker
sudo systemctl enable docker #开启自启动服务
##测试是否正常安装
sudo docker run hello-world
3.卸载
sudo yum remove docker-ce
#docker数据目录相关删除(image,docker,volume等)
#注意: /var/lib/docker:是默认的存储目录,视实际目录而定
docker info #查看docker详情(Docker Root Dir)
sudo rm -rf /var/lib/docker
Docker配置
docker info # 进行docker安装信息查看
- docker数据目录迁移
#1.docker数据目录迁移
systemctl stop docker #停服务
mkdir /data/docker/lib #创建数据目录
rsync -r -avz /var/lib/docker /data/docker/lib #迁移数据
#2.服务配置文件修改
vim /usr/lib/systemd/system/docker.service
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --graph=/data/docker/lib
#3.服务重新加载
systemctl daemon-reload
systemctl restart docker
#4.检查
docker info #查看数据目录是否已变化
- Volume容器目录挂载配置 docker volume --help
docker volume create xxx #宿主机上创建挂载目录(默认:Docker Root Dir下)
- Docker 镜像源更换
vim /etc/docker/daemon.json #自行创建daemon.json配置文件
{
"registry-mirrors": ["https://uxk0ognt.mirror.aliyuncs.com"]
}
常见命令使用
image(镜像)
docker image help
build #基于Dockerfile进行镜像构建
history #展示镜像构建历史信息
import Import the contents from a tarball to create a filesystem image
inspect #显示镜像详细信息
load Load an image from a tar archive or STDIN
ls #列出所有镜像
prune #移除未使用的镜像
pull #从资源中心拉取镜像、仓库
push #推送镜像、仓库到资源中心
rm #移除镜像
save Save one or more images to a tar archive (streamed to STDOUT by default)
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
container(容器)
docker container help
attach Attach local standard input, output, and error streams to a running container
commit #基于现在改动容器的基础上创建新的镜像
cp Copy files/folders between a container and the local filesystem
create #创建新容器
diff Inspect changes to files or directories on a container's filesystem
exec Run a command in a running container
export Export a container's filesystem as a tar archive
inspect Display detailed information on one or more containers
kill Kill one or more running containers
logs Fetch the logs of a container
ls List containers
pause Pause all processes within one or more containers
port List port mappings or a specific mapping for the container
prune Remove all stopped containers
rename Rename a container
restart Restart one or more containers
rm Remove one or more containers
run Run a command in a new container
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
top Display the running processes of a container
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
wait Block until one or more containers stop, then print their exit codes
docker自身配置
docker [command]
builder Manage builds
config Manage Docker configs
container Manage containers
context Manage contexts
engine Manage the docker engine
image Manage images
network Manage networks
node Manage Swarm nodes
plugin Manage plugins
secret Manage Docker secrets
service Manage services
stack Manage Docker stacks
swarm Manage Swarm
system Manage Docker
trust Manage trust on Docker images
volume Manage volumes
Docker 可视化管理工具
Portainer
#1.获取镜像
docker pull portainer/portainer
#2.宿主机创建容器的挂载目录
docker volume create portainer_data
#3.启动容器
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
Docker 常见镜像使用
MySQL
#1.镜像下载
docker pull mysql:5.7.34
docker run -p 3306:3306 --name mysql -v /data/dbs/mysql57/conf:/etc/mysql/conf.d -v /data/dbs/mysql57/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
Redis
#下载最新版redis
docker pull redis
#宿主机目录配置
创建:
/data/dbs/redis/conf #配置目录
/data/dbs/redis/data #数据存储目录
#启动服务
docker run -p 6379:6379 -v /data/dbs/redis/conf:/usr/local/etc/redis -v /data/dbs/redis/data:/data --name local_redis -d redis