添加用户至 docker 用户组
1
| sudo usermod -aG docker $USER
|
命令选项
1 2 3 4 5 6 7 8 9 10 11 12 13
| docker run -d:在后台运行容器。 --name:为容器指定一个名称。 -p:将容器端口映射到主机端口。 -e:设置环境变量。 -v:将主机目录挂载到容器中。 --rm:容器退出时自动删除。 -it:以交互模式运行容器。 --network:指定容器连接的网络。 --restart:容器退出时的重启策略(如 no、on-failure、always、unless-stopped)。 --link:链接到另一个容器。 -u:指定用户。 --privileged=true:特权模式,使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。
|
进入容器shell
1 2
| docker exec -it <container_name> bash docker exec -it <container_name> sh
|
容器运行日志
替换为你希望查看日志的行数; 替换为容器名
1
| docker logs -f --tail=<number_of_lines_to_start_with> <container_name>
|
查看容器信息
1
| docker inspect <container_name>
|
代理
docker pull代理
1
| sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
|
1 2 3
| [Service] Environment="HTTP_PROXY=http://127.0.0.1:7890" Environment="HTTPS_PROXY=http://127.0.0.1:7890"
|
或者
1 2
| sudo mkdir /etc/docker sudo vim /etc/docker/daemon.json
|
1 2 3 4 5 6 7
| { "proxies": { "http-proxy": "http://127.0.0.1:7890", "https-proxy": "http://127.0.0.1:7890", "no-proxy": "localhost,127.0.0.1" } }
|
容器走宿主机代理
宿主机代理开启允许局域网访问,假设容器的网络模式是bridge,局域网ip为172.17.0.x
1 2
| export http_proxy="http://172.17.0.1:7890" export https_proxy="http://172.17.0.1:7890"
|
docker-compose
建立用docker-compose创建容器,方便维护
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| services: web: container_name: image: user: ":" ports: - ":/tcp" - ":/udp" volumes: - ":" environment: - xxx=xxx command: dns: network_mode: "" networks: demo_network: ipv4_address: 172.24.0.2 restart: unless-stopped
//交互模式 stdin_open: true tty: true networks: demo_network: ipam: config: - subnet: 172.24.0.0/24
|
push docker image
1 2 3 4 5 6 7
| docker commit 容器名或id <REPOSITORY>/<IMAGE NAME>:<TAG>
//重新标记(可选,字母必须小写) docker tag <IMAGE ID> <REPOSITORY>/<IMAGE NAME>:<TAG>
docker login docker push <REPOSITORY>/<IMAGE NAME>:<TAG>
|