docker
sudo apt-get update
sudo apt-get install docker-io
yum -y install docker-io
c 运行docker
systemctl restart docker
查看运行中的容器
查看所有容器
删除容器
停止容器
启动容器
重启容器
创建并启动容器
退出容器并保持容器运行(终止容器退出命令为exit)
进入正在运行的容器
# 指定基础镜像文件
FROM ubuntu:latest
# 指定维护者信息
MAINTAINER wanghaifei
# 将代码copy到容器中。如 ADD ./blog /blog 表示将和dockerfile文件同级的blog代码copy到容器的根路径/blog中
ADD 和dockerfile文件相对的项目地址 拷贝到容器中的项目地址
# 指定工作目录
WORKDIR /blog
# 复制
COPY 地址 新地址
# 执行更新命令
RUN apt update
# 创建项目地址的日志文件或者媒体文件等
RUN mkdir -p /日志logs地址
RUN mkdir -p /媒体media地址
# 指定开放端口
EXPOSE 8000
# 在容器启动时执行命令
ENTRYPOINT ["python"]
CMD ["manage.py", "runserver", "0.0.0.0:8000"]
docker build -t 镜像名
. (注意最后有个点用来表示当前目录,初次构建速度会比较慢,需要多等一会。)
# 拉取registry镜像
root@qjun-x230:/home/qjun# docker pull registry
# 查看镜像
root@qjun-x230:/home/qjun# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest f32a97de94e1 3 months ago 25.8MB
# 基于registry 创建启动 qdockerhub容器
root@qjun-x230:/home/qjun# docker run -d -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name qdockerhub registry:latest
b8621bf02781ffccd25a2d2f21cbb54aee093c53ddbf77e39dfab6f05578126d
# 安装curl测试工具(Ubuntu系统)
root@qjun-x230:/home/qjun# apt install curl
# 测试/v2/_catalog接口
root@qjun-x230:/home/qjun# curl http://127.0.0.1:5000/v2/_catalog
{"repositories":[]}
# 查看镜像
root@qjun-x230:/home/qjun# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 62c261073ecf 5 days ago 109MB
# tag 加上传地址标签
root@qjun-x230:/home/qjun# docker tag nginx 127.0.0.1:5000/qnginx
# 查看镜像
root@qjun-x230:/home/qjun# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
127.0.0.1:5000/qnginx latest 62c261073ecf 5 days ago 109MB
nginx latest 62c261073ecf 5 days ago 109MB
# push镜像
root@qjun-x230:/home/qjun# docker push 127.0.0.1:5000/qnginx
The push refers to repository [127.0.0.1:5000/qnginx]
ea06a73e56fc: Pushed
22c458a3ff08: Pushed
6270adb5794c: Pushed
latest: digest: sha256:8c3cdb5acd050a5a46be0bb5637e23d192f4ef010b4fb6c5af40e45c5b7a0a71 size: 948
# curl验证
root@qjun-x230:/home/qjun# curl http://127.0.0.1:5000/v2/_catalog
{"repositories":["qnginx"]}
root@qjun-x230:/home/qjun#
root@qjun-x230:/home/qjun# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
# 拉取
root@qjun-x230:/home/qjun# docker pull 127.0.0.1:5000/qnginx:latest
latest: Pulling from qnginx
743f2d6c1f65: Already exists
d6c2f01b1dae: Pull complete
d4da6ff1b555: Pull complete
Digest: sha256:8c3cdb5acd050a5a46be0bb5637e23d192f4ef010b4fb6c5af40e45c5b7a0a71
Status: Downloaded newer image for 127.0.0.1:5000/qnginx:latest
root@qjun-x230:/home/qjun# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
127.0.0.1:5000/qnginx latest 62c261073ecf 5 days ago 109MB
错误提示: [root@izj6c0zsm04q86s2tu4e12z /]# docker run -it docker.io/ubuntu:latest /bin/bash
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:235: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set property TasksAccounting, or unknown property.\"".
解决办法: yum update
vim /etc/docker/daemon.json
{
"registry-mirrors":["https://registry.docker-cn.com"],
"insecure-registries":["47.240.32.247:5000"]
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。